php(2)—基础补充

  • 字符串

可以在字符串之中随机指定一个索引

$a = array('a','b',47=>'c','d');
//a[0]='a',a[1]='b',a[47]='c',a[48]='d'

 在原字符串上增加、移除元素

$a =array(0=>1,1=>3,4=>4,5=>5);
$a[]=9;
$a[]=10;
unset($a[7]);   //移除一个元素
print_r($a);   //Array ( [4] => 4 [5] => 5 [6] => 9 ) 1
echo "<br />";
print_r($a);
echo "<br />";
$a[] = 6;   //再添加一个元素,即使刚刚移除了一个元素,依然保留它的索引
print_r($a);//Array ( [0] => 1 [1] => 3 [4] => 4 [5] => 5 [6] => 9 [8] => 6 )

重新索引

$array = array(3,4,5,6,7,8,9);
// 现在删除其中的所有元素,但保持数组本身不变;如果用unset($array)则新的元素会从0开始
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);
echo "<br />";
$array[] = 6;
print_r($array);
echo "<br />";
$array = array_values($array);  // 重新索引
$array[] = 7;
print_r($array);

 对象转化为数组

class A{
    private $a1=1;
}
class B extends A{
    private $a2=2;
    public $b2=3;
}
var_dump((array) new B());
  •  函数

用echo 应用函数返回值,若函数里面是echo的话 ,输出时位置会发生变化

function a($name='f'){  
  echo $name; }
echo "my name is ".a()."sss"; //fmy name is sss

下面方法可以固定位置
function a($name='f'){
  return $name;
}
echo "my name is ".a()."sss"; //my name is fsss

 构造函数与析构函数

class A{
//类属性必须定义为公有,受保护,私有。如果用 var 定义,则被视为公有。
    var $name;
    var $id;
    function __construct( $par1, $par2 ) {    //构造方法
        $this->name = $par2;
        $this->id = $par1;
    }
    function __destruct() {  //析构方法
        print "销毁 " . $this->name . $this->id . "
";
    }
}
原文地址:https://www.cnblogs.com/Nora-F/p/9485818.html