我在phoenix测试套件中找到了这段代码:
$os_packages_to_install = explode(' ', implode(' ', $os_packages_to_install));
我以前看过,但我不明白它的意义。它是做什么的?
它将返回一个数组,但与$os_packages_to_install
的不同之处在于,如果$os_packages_to_install
的值包含空格,它也将被分割。
:
["hjk jklj","jmmj","hl mh","hlm"]
内爆了:
"hjk jklj jmmj hl mh hlm
explosion again will give:
["hjk","jklj","jmmj","hl","mh","hlm"]
在google上搜索这一行,结果是:
重建数组索引操作系统包XML标签提供了多个单个字符串中的包名
基本上,这是因为原始数组可能看起来像这样:
$os_packages_to_install = array(
'package1',
'package2 package3'
);
当它需要看起来像这样时:
$os_packages_to_install = array(
'package1',
'package2',
'package3'
);
来源:http://www.phorogit.com/index.php?p=phoronix-test-suite.git& dl = plain& h = 7 c5f0c0cf91dc61c1f220b0871040d4441836436。
是,如果数组$os_packages_to_install
中的字符串有空白字符
可以,如果输入数组是关联数组:
$os_packages_to_install = array('key'=>'val1','val2','val3');
var_dump($os_packages_to_install);
var_dump(explode(' ', implode(' ', $os_packages_to_install)));
输出是:
array(3) { ["key"]=> string(4) "val1" [0]=> string(4) "val2" [1]=> string(4) "val3" }
array(3) { [0]=> string(4) "val1" [1]=> string(4) "val2" [2]=> string(4) "val3" }
如果字符串包含类似空格$str[0] = "abcd bce";$str[1] = " bde sdf";如果有人执行你的命令,那么。
将被拆分为包含4条记录的数组,而不是拆分为2条记录。