添加多維數組我有一個建立這樣一個多維數組(不介意的字符串長度,我修改了值)在多維數組的特定位置
array(27) {
[0]=>
array(2) {
["name"]=>
string(16) "Arsenal FC"
["id"]=>
string(2) "1"
}
[1]=>
array(2) {
["name"]=>
string(8) "Liverpool FC"
["id"]=>
string(3) "2"
}
[2]=>
array(2) {
["name"]=>
string(18) "Manchester United"
["id"]=>
string(3) "3"
}
}
現在我想添加一個數組,就是這樣構建的
array(2) {
["name"]=>
string(18) "Chelsea FC"
["id"]=>
string(3) "4"
之間的第二個和第三個數組元素。
我已經做了這樣的
$this->clubs = array_slice($this->clubs, 0, 2, true) +
['name' => 'Chelsea FC', 'id' => 4] +
array_slice($this->clubs, 2, sizeof($this->clubs), true);
然而,這將返回以下陣列
array(27) {
[0]=>
array(2) {
["name"]=>
string(16) "Arsenal FC"
["id"]=>
string(2) "1"
}
[1]=>
array(2) {
["name"]=>
string(8) "Liverpool FC"
["id"]=>
string(3) "2"
}
["name"]=>
string(20) "Chelsea FC"
["id"]=>
int(4)
[2]=>
array(2) {
["name"]=>
string(18) "Manchester United"
["id"]=>
string(3) "3"
}
正如你所看到的,陣列添加到正確的位置,而不是在正確的格式(而不是多維)。我現在需要做的是在該位置添加數組並增加所有其他索引的數量。
我想實現像這樣
if ($otherClubs->count() > 0) {
array_walk($this->clubs, function($item, $key) use($index, $otherClubs) {
if ($key > $index) {
$this->clubs[$key + $otherClubs->count()] = $item;
unset($this->otherClubs[$key]);
}
});
}
但這完全
array(36) {
[0]=>
array(2) {
["name"]=>
string(16) "Arsenal FC"
["id"]=>
string(2) "1"
}
[1]=>
array(2) {
["name"]=>
string(8) "Liverpool FC"
["id"]=>
string(3) "2"
}
["name"]=>
string(20) "Chelsea FC"
["id"]=>
int(3)
[2]=>
array(1) {
["id"]=>
string(3) "4"
}
破壞了陣列我怎樣才能做到這一點?
你的第一次嘗試比我使用的要好得多。它的工作沒有問題!謝謝! – Musterknabe
@Musterknabe您的歡迎。 –