繁体   English   中英

在循环中根据数组索引推送数组值

[英]Push array value based on array index in loop

我想根据循环内的索引推送数组。 但是$q[$i]被检测为字符串。 如何解决?

$smallPhrase = array(35) {
  [0]=>
  array(2) {
    [0]=>
    string(12) "terima kasih"
    [1]=>
    string(2) "40"
  }
  [1]=>
  array(2) {
    [0]=>
    string(8) "kemudian"
    [1]=>
    string(2) "20"
  } ... 
}
$q = array();
for($i=0; $i < count($smallPhrase); $i++) {
      array_push($q[$i], $smallPhrase[$i][0],$smallPhrase[$i][1]);
    }

预期结果 =

    $q[0] = $smallPhrase[0][0],$smallPhrase[0][1];
    $q[1] = $smallPhrase[1][0],$smallPhrase[1][1];
    $q[2] = $smallPhrase[2][0],$smallPhrase[2][1];

这个$smallPhrase也在循环下,所以在下一个循环中数据将被替换,但结构保持不变。

我只是想将$smallPhrase索引 0 推入$q索引 0,所以另一个 $smallPhrase 索引 [0] 将被放在一起。

根据您的最新评论编辑

$q = [];
for ($i=0; $i < count($smallPhrase); $i++) {
    if (empty($q[$i])) {
        $q[$i] = [];
    }
    array_push($q[$i], ...$smallPhrase[$i]);
}
print_r($q);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM