gpt4 book ai didi

PHP多重循环生成新数组

转载 作者:可可西里 更新时间:2023-11-01 00:44:04 26 4
gpt4 key购买 nike

我有一些数组,如下所示

 array(
[0] =>
array( ['direction'] => '0.000,0.160,0.123,0.104,0.000' )
[1] =>
array( ['direction'] => '0.000,0.101,0.237,0.101,0.000' )
[2] =>
array( ['direction'] => '0.000,0.160,0.125,0.163,0.000' )
)

使用 for 循环,我想生成新的数组,看起来像

data1 = [0.000, 0.000, 0.000]
data2 = [0.160, 0.101, 0.160]
data3 = [0.123, 0.237, 0.125]
data4 = [0.104, 0.101, 0.163]
data5 = [0.000, 0.000, 0.000]

这意味着使用 for 循环,我想获取每一列的值,然后将该值分配给每个新数组。

我想做的是

$cnt = count($array);
$buildCnt = count($array['direction']);
for($i = 0; $i < $cnt; $i++){
for($j = 0; $j < buildCnt; $j++){
'i need to do something here
}
}

有人帮帮我吗??谢谢

最佳答案

我不知道是否有更好的方法通过数组函数,你也可以使用普通的 foreach 循环。像这样:

$original_array = array(
array('direction' => '0.000,0.160,0.123,0.104,0.000'),
array('direction' => '0.000,0.101,0.237,0.101,0.000'),
array('direction' => '0.000,0.160,0.125,0.163,0.000'),
);
$new_array = array();
foreach($original_array as $sub_array) {
// loop each sub array
$pieces = explode(',', $sub_array['direction']);
// explode by comma
foreach($pieces as $key => $piece) {
// each piece, push by data(n)
$new_array["data".($key+1)][] = $piece;
// if you don't want to use extract
// ${"data".($key+1)}[] = $piece;
}
}

extract($new_array); // import newly created sub arrays
echo '<pre>';
print_r($data1); // $data2, $data3, ... and so on

$data1 应该是这样的:

Array
(
[0] => 0.000
[1] => 0.000
[2] => 0.000
)

关于PHP多重循环生成新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com