explode(infrade())在PHP中有意义吗?
我在以下文件中找到了这段代码:explode(infrade())在PHP中有意义吗?,php,arrays,Php,Arrays,我在以下文件中找到了这段代码: 我以前见过,但我看不出有什么意义。它做什么?是的,如果数组$os\u packages\u to\u install中的字符串包含空格字符。它将返回一个数组,但与$os\u packages\u to\u install不同的是,如果$os\u packages\u to\u install的值包含空格,它也将被拆分 因此: 内爆产生: "hjk jklj jmmj hl mh hlm 再次爆炸将产生: ["hjk","jklj","jmmj","hl","mh
我以前见过,但我看不出有什么意义。它做什么?是的,如果数组
$os\u packages\u to\u install
中的字符串包含空格字符。它将返回一个数组,但与$os\u packages\u to\u install
不同的是,如果$os\u packages\u to\u install
的值包含空格,它也将被拆分
因此:
内爆产生:
"hjk jklj jmmj hl mh hlm
再次爆炸将产生:
["hjk","jklj","jmmj","hl","mh","hlm"]
如果输入数组是关联的,则可能:
$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" }
谷歌搜索该行时发现: 重新生成数组索引,因为 OS包XML标记提供多个 单个字符串中的包名称 基本上,这是因为原始数组可能如下所示:
$os_packages_to_install = array(
'package1',
'package2 package3'
);
$os_packages_to_install = array(
'package1',
'package2',
'package3'
);
当它需要看起来像这样时:
$os_packages_to_install = array(
'package1',
'package2 package3'
);
$os_packages_to_install = array(
'package1',
'package2',
'package3'
);
来源:.如果字符串包含空格,如 $str[0]=“abcd bce”; $str[1]=“bcde sdf”; 如果有人执行了你的命令
它将被分成4条记录的数组,而不是分成2条 正如下面其他人指出的那样,数组将被重新索引。