我有像这样的关联数组(存储在$ array中):
Array
(
[0] => Array
(
[one] => some text1
[two] => some paragraph here1.
)
[1] => Array
(
[one] => some text2
[two] => some paragraph here2.
)
[2] => Array
(
[one] => some text3
[two] => some paragraph here3.
)
[3] => Array
(
[one] => some text4
[two] => some paragraph here4.
)
[4] => Array
(
[one] => some text5
[two] => some paragraph here5.
)
)
Run Code Online (Sandbox Code Playgroud)
现在,我想存储它们的结果,如下所示:
$ first ='some text1,some text2,some text3,some text4,some text5';
$ second ='某段落在这里1.这里有一段2.这里有一段3.这里有一段4.这里有一段5.';
苦苦挣扎我得到了这样的解决方案:
$first= '';
$second = '';
for($i = 0; $i<count($array); $i++){
$first .= $array[$i]['one'] . ($i == count($array) - 1 ? '': ',');
$second .= $array[$i]['two'];
}
echo $first;
echo $second;
Run Code Online (Sandbox Code Playgroud)
但我希望已经有一个内置的php函数将关联数组拆分为两个不同的数组.
对于PHP版本> 5.5.你可以简单的使用array_column以及implode功能等作为
echo $first = implode(',',array_column($your_array,'one'));
echo $second = implode(',',array_column($your_array,'two'));
Run Code Online (Sandbox Code Playgroud)
对于较低版本,您可以array_map像使用一样
echo $first = implode(',',array_map(function($v){ return $v['one'];} ,$your_array));
echo $second = implode(',',array_map(function($v){ return $v['two'];},$your_array));
Run Code Online (Sandbox Code Playgroud)