2015-10-08 3 views
0

Если я хочу добавить несколько значений в массив с тем же индексом в PHP, то можно ли создать массив такого типа? Для, например,Сохранение нескольких значений в одном массиве с тем же индексом

fruits[a]="apple"; 
fruits[a]="banana"; 
fruits[a]="cherry"; 
fruits[b]="pineapple"; 
fruits[b]="grappes"; 

Я хочу, чтобы массив выглядеть, как показано ниже: -

fruits = {[a]=>"apple",[a]=>"banana",[a]=>"cherry",[b]=>"pineapple",[b]=>"grappes"}; 
+3

Какой язык вы используете? –

+0

Если вы используете java, я предлагаю вам использовать «Map» с ключом и соответствующий этому списку ключей объекта как значение. – subodh

+0

В моем вопросе я упомянул, что использую PHP. – Aurea

ответ

4

Вы не можете определить несколько значений под тем же ключом или индексом. В вашем случае -

fruits[a]="apple"; 
fruits[a]="banana"; 

Здесь apple будет заменен banana.

Вместо этого, вы можете определить массив как -

fruits[a][] = "apple"; 
fruits[a][] = "banana"; 
1

Edit: я обновил свой ответ с PHP кода, но я не код PHP обычно, это не может быть самое оптимальное решение, я пробовал этот код в песочнице php

$subarray1[0] = "apple"; 
$subarray1[1] = "banana"; 
$subarray1[2] = "cherry"; 

$subarray2[0] = "pineapple"; 
$subarray2[1] = "grappes"; 

$fruits[0] = $subarray1; 
$fruits[1] = $subarray2; 

foreach($fruits as $key => $value){ 
    foreach($value as $key2 => $value2){ 
     echo $key2."\t=>\t".$value2."\n"; 
    } 
} 
+0

вы можете обновить этот ответ с помощью логики кодирования –

0

использования Implode и взрываются.

subarray1[0] = "apple" 
subarray1[1] = "banana" 
subarray1[2] = "cherry" 

subarray2[0] = "pineapple" 
subarray2[1] = "grappes" 

Это хранит данные с, (запятая)

$ar=""; 
for($i=0;$i<=count(subarray1);$i++) 
{ 
$ar[]=subarray1[$i]; 
} 
$rt=implode(',',$ar); 
echo $rt; 

Это Удалить, (запятая) форма массива

$ex=explode(",",$ar); 
print_r($ex);