php
2013-10-24 4 views 0 likes 
0

У меня есть этот код php, чтобы проверить, существует ли изображение или нет.PHP - Получить значения URL-адресов изображений за пределами foreach?

foreach($pic_switch as $pic_switch_key => $pic_switch_value) 
{ 
if ($pic_switch_value == "no-image") 
{ 
$img_url = 'http://www.reuters.com/resources_v2/images/masthead-logo.gif'; 
} 
else 
{ 
$img_url = $img_location . $pic_switch_key . '.jpg'; 
} 
} 

Приведенный выше код отлично работает.

Я хотел бы эхо $ img_url за пределами foreach. Я пробовал:

echo '<pre>'.print_r($img_url,true).'</pre>'; 

но он дает только URL-адрес последнего изображения. Я хотел бы отобразить URL всех изображений. Я хотел бы отобразить все из них вне Foreach, а не эхо URL-адреса внутри него.

+0

Почему, что случилось с foreach? Единственный путь вокруг него - это добавить все URL-адреса в массив ..., который вам снова придется пройти через, например, для каждого. (Или вы могли бы добавить его к гигантской струне, но с какой целью на самом деле?) –

+0

Я предпочел бы это за пределами foreach - по разным причинам из-за цели, которую я пытаюсь достичь. –

+0

Возможно, вам стоит объяснить еще кое-что, что вы пытаетесь сделать. Сейчас этот запрос не имеет смысла. Как иначе вы будете иметь дело с несколькими элементами, чем в каком-то цикле? –

ответ

1

Если вы используете foreach таким образом, вы в конечном итоге сохраните последнюю переменную только в $img_url. Поэтому использовать этот способ:

foreach ($pic_switch as $pic_switch_key => $pic_switch_value) 
{ 
    if ($pic_switch_value == "no-image") 
    { 
     $img_url = 'http://www.reuters.com/resources_v2/images/masthead-logo.gif'; 
    } 
    else 
    { 
     $img_url = $img_location . $pic_switch_key . '.jpg'; 
    } 
    echo '<pre>' . print_r($img_url, true) . '</pre>'; 
} 
+0

Спасибо за помощь. Хотя я хочу повторить $ img_url за пределами foreach. Как это может быть сделано? –

+0

Тогда вам понадобится длинная строка. Вместо этой строки: '$ img_url = $ img_location. $ pic_switch_key. '.jpg'; ', используйте' $ img_url. = $ img_location. $ pic_switch_key. '.jpg'; ' –

+0

Отображаемые URL-адреса изображений, но до того, как это было сказано мне - Неопределенная переменная: img_url –

0

Я не понимаю, почему вы не можете повторить внутри цикла, но один метод должен был бы построить строку в цикле и эхо его в сценарии.

Было бы более аккуратно строить массив URL-адресов и эха из цикла for позже.

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