印象中PHP有这么一个函数:
$a = 1;$b = 2;$array = xxxx($a,$b);
你为什么不直接这样,就不需要那个函数了
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
你为什么不直接这样,就不需要那个函数了
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$a = 1;$b = 2;$c = 3;$array1 = compact('a', 'b', 'c');$array2 = array('a'=>$a, 'b'=>$b, 'c'=>$c);
该是数组的,一开始就没必要初始化成变量。
$a = 1;
$b = 2;
$c = 3;
$array1 = compact('a', 'b', 'c');
这样用了4行
$array2 = array('a'=>1, 'b'=>2, 'c'=>3);
这样只需要一行
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;
即使是这样,也是4行没差。
需要的时候用$arr['b']这样读就行了,根本不需要$b这个变量
除非$arr['b']['c']['d'] 这样很长,又多次使用的时候才存一个变量简化一下代码。
但是不得不承认确实忘了有compact这个函数
该是数组的,一开始就没必要初始化成变量。
$a = 1;
$b = 2;
$c = 3;
$array1 = compact('a', 'b', 'c');
这样用了4行
$array2 = array('a'=>1, 'b'=>2, 'c'=>3);
这样只需要一行
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;
即使是这样,也是4行没差。
需要的时候用$arr['b']这样读就行了,根本不需要$b这个变量
除非$arr['b']['c']['d'] 这样很长,又多次使用的时候才存一个变量简化一下代码。
$a = 1;$b = 2;$c = 3;$t = array_diff_key(get_defined_vars(), array_flip(array('_GET', '_POST', '_COOKIE', '_FILES')));print_r($t);
Array( [a] => 1 [b] => 2 [c] => 3)
$a = 1;$b = 2;$c = 3;$t = array_diff_key(get_defined_vars(), array_flip(array('_GET', '_POST', '_COOKIE', '_FILES')));print_r($t);
Array( [a] => 1 [b] => 2 [c] => 3)
其实你用 compact 是有前提的:至少需要知道变量名
用 array_combine de 的话,则有可能打乱原有的成员顺序
而 get_defined_vars 则可用于探测未知变量