2015-07-31 7 views
0

с помощью кода:как вывести значение из массива, используя ключ

$yourarray = $array('link' => 'text', 'link2' => 'text2'); 
foreach($yourArray as $key => $value) { 
$keys[] = $key; 
$items[] = $value; 
echo $keys['link']; 
} 

В теории я думал, что это будет работать, однако, когда вы prin_r клавиши кажутся цифры, а не ссылку, link2 и т.д.

Есть ли способ обойти это, когда я могу вытащить значение из массива с помощью ключа?

благодаря

+0

'$ keys [$ key] = $ key;' –

+2

Я сомневаюсь в этой строке '---->' '$ yourarray = $ array ['link' => 'text', 'link2' => 'text2']; ' –

+0

жаль, что я должен сказать, что этот код автогенерируется в другом месте, и у меня нет доступа к нему. Этот массив является примером. – Reece

ответ

0

Попробуйте это изменение и проверить:

$yourarray = array('link' => 'text', 'link2' => 'text2');

0

Ваш код должен состоять из множества опечатка

$yourarray = $array['link' => 'text', 'link2' => 'text2'];//This is not an array 

$yourArray != $yourarray

foreach($yourArray as $key => $value) { // Undefined variable $yourArray 

$keys[] = $key; 
$items[] = $value; 
echo $keys['link'];//it should be $keys[$key] 
} 

Рабочий код

$yourarray = ['link' => 'text', 'link2' => 'text2']; 
foreach ($yourarray as $key => $value) { 
    $keys[$key] = $key; 
    $items[] = $value; 
    echo $keys[$key]."<br>"; 
} 
print_r($keys); 
print_r($items); 
+0

@Downvoters Пожалуйста, укажите причину для downvotes тоже. Поэтому я могу улучшить свой ответ –

0

Вы добавляете переменную в стандартном, не ассоциативный массив, когда вы используете клавиши [] = $ и $ всевозможное [] =. Поэтому вы не можете ссылаться на ассоциативный индекс. Если вы хотите, чтобы повторить то, что недавно был вставлен в $ ключи, используйте:

echo end($keys); 

Вы не сможете захватить любые значения из массива с помощью индекса имя, как у вас, если вы не назначите его правильно. Чтобы немного рассказать об этом, когда вы используете '$ keys [] =', вы говорите, добавьте это значение в следующий целочисленный индекс в этом массиве (EG: если $ keys имеет 2 значения, и вы используете '$ keys [] =' следующая ссылка на индекс будет $ keys [2])

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