Php 基于循环中的数组索引推送数组值

Php 基于循环中的数组索引推送数组值,php,Php,我想根据循环内的索引推送数组。但是$q[$i]被检测为字符串。如何解决 $smallPhrase = array(35) { [0]=> array(2) { [0]=> string(12) "terima kasih" [1]=> string(2) "40" } [1]=> array(2) { [0]=> string(8) "kemudia

我想根据循环内的索引推送数组。但是
$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]);
    }
这个
$smallPhrase
也在循环中,因此在下一个循环中,数据将被替换,但结构保持不变

我只想把
$smallPhrase
索引0推到
$q
索引0中,这样另一个$smallPhrase索引[0]就会放在一起。

根据您的最新评论进行编辑

$q=[];
对于($i=0;$i
您只能将项目推入阵列。如果你做
var_dump($q[$i]),你会得到什么在您的
数组_push()
之前?它是一个数组吗?请告诉我们所有这些变量,如
$q
$smallPhrase
实际包含哪些内容,以及预期结果应该是什么样子。现在还不清楚您想做什么。我假设您想将数组
$smallPhrase
推送到数组
$q
中,保留数组
$smallPhrase
中的
索引,对吗?您在哪里定义了
$q
变量以及分配的类型?我认为您需要定义
$q=array()
$q=[]
就在
之前,用于
循环,这应该可以完成任务。预期结果=$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推送到数组$q,保持数组$smallPhrase的索引<--可能类似this@fitrafadilana你可以发布
$smallPhrase
数组的结构吗?数组(35){[0]=>array(2){[0]=>string(12)“terima kasih”[1]=>string(2)“40”}[1]=>array(2) {[0]=>string(8)“kemudian”[1]=>string(2)“20”}[2]=>array(2){[0]=>string(9)“membangun”[1]=>string(2)“20”}}实际上这个$smallPhrase也在循环中,所以结构的数据将在下一个循环中被替换。所以我想把$smallPhrase索引[0]保留在$q索引[0]中,以此类推。。
    $q[0] = $smallPhrase[0][0],$smallPhrase[0][1];
    $q[1] = $smallPhrase[1][0],$smallPhrase[1][1];
    $q[2] = $smallPhrase[2][0],$smallPhrase[2][1];
$q = [];
for ($i=0; $i < count($smallPhrase); $i++) {
    if (empty($q[$i])) {
        $q[$i] = [];
    }
    array_push($q[$i], ...$smallPhrase[$i]);
}
print_r($q);