印象中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 则可用于探测未知变量
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号