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);