2013-05-03 2 views
0

У меня есть многомерный массив, который создают какусложнять толчок массив первого индекса

$column = array( 
"person#1"=> array ("name"=>"Leon" , "Age"=>"19"), 
"person#2"=> array ("name"=>"Gary" , "Age"=>"31"), 
"person#3"=> array ("name"=>"May" , "Age"=>"25") 
) 

Теперь, что я хочу, чтобы подтолкнуть что-то вроде

"person#4"=> array ("name"=>"Tony" , "Age"=>"28") 

на первое место столбца массива.

я был смотреть в

array_unshift($column, array("person#1"=> array ("name"=>"Tony" , "Age"=>"28")); 

он сделал заменить массив и переменную с моим массива, но всегда индексируются с '0', а не person#4, как ожидают

+0

Извините, что я не совсем выполнил ваш вопрос. Вы хотите сказать, что вы хотите поставить 'person # 4' перед' person # 1' или вы хотите заменить 'person # 1' как' person # 4'? – Passerby

+0

Я хочу поставить его перед лицом # 1 без индекса его до '0' –

ответ

2

Использование array_merge():

<?php 
header('Content-Type: text/plain'); 

$column = array(
"person#1"=> array ("name"=>"Leon" , "Age"=>"19"), 
"person#2"=> array ("name"=>"Gary" , "Age"=>"31"), 
"person#3"=> array ("name"=>"May" , "Age"=>"25") 
); 

$column = array_merge(array("person#4" => array ("name" => "Tony" , "Age" => "28")), $column); 

var_dump($column); 
?> 

Выставки:

array(4) { 
    ["person#4"]=> 
    array(2) { 
    ["name"]=> 
    string(4) "Tony" 
    ["Age"]=> 
    string(2) "28" 
    } 
    ["person#1"]=> 
    array(2) { 
    ["name"]=> 
    string(4) "Leon" 
    ["Age"]=> 
    string(2) "19" 
    } 
    ["person#2"]=> 
    array(2) { 
    ["name"]=> 
    string(4) "Gary" 
    ["Age"]=> 
    string(2) "31" 
    } 
    ["person#3"]=> 
    array(2) { 
    ["name"]=> 
    string(3) "May" 
    ["Age"]=> 
    string(2) "25" 
    } 
} 
+0

Он работает, как ожидается, спасибо –

+1

@Leon Armstrong, приветствия. Но есть вариант ** версии w0rldart ** с '$ column = array (" person # 4 "=> array (" name "=>" Tony "," Age "=>" 28 ")) + $ колонка; '. Работает так же (не полностью протестировано). – BlitZ

+0

Я думаю, что я просто следую вашему пути, Его легче понять –

3

Почему бы не сделать простой $new_person + $column?

+1

до первого из стека –

+0

Определенно лучше, чем у меня) – BlitZ

+0

Похоже, что ваш код чище, но есть способ подтолкнуть человека №4 к первому из стека ? –

Смежные вопросы