2014-10-15 2 views
0

Я работаю над приложением для просмотра на стороне клиента, для которого мне требуется множество URL-адресов изображений и идентификаторов с моего сервера, и я получил свои изображения для консоли рельсов нашего сайта в формате массива.массив, работающий в localhost, но не на сервере

Моего код

<?php 
$links=[[64, "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__4_.jpg"], [63, "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__1_.jpg"], [62, "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__2_.jpg"], [61, "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__7_.jpg"], [60, "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__5_.jpg"]; //and 200 more images// 

$n=(count($links)); 

for($i=0;$i<=$n;$i++) 
{ 
    echo $links[$i][0].'->'.$links[$i][1]."<br/>"; 
} 
?> 

Он работает круто на моем локальном хосте, но когда я нажимаю на сервер его показ ошибки

"Parse error: syntax error, unexpected '[' in /srv/disk4/1225087/www/dcvit.co.nf/survey.php on line 25"

+0

Одна вещь, которую я заметил в вашей петле for, $ i <= $ n; должен быть $ i <$ n. –

+0

Вы используете новый синтаксис массива, который поддерживает только php 5.4 или новее. Убедитесь, что ваш сервер поддерживает php 5.4 или новее. –

+0

Я проверю, имеет ли версия php5 + и почему я не могу использовать <= $ n, мне нужна эта логика ... почему бы и нет ??? В чем логическая ошибка? –

ответ

4

Сервер не работает требуемую версию PHP 5.4 для [] для массивов.

Значит, вам нужно обратиться к использованию массива().

1
<?php 
$links= array(
     64 => "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__4_.jpg", 
     63 => "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__1_.jpg", 
     62 => "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__2_.jpg", 
     61 => "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__7_.jpg", 
     60 => "https://oyo-dev.s3.amazonaws.com/uploads/hotel_image/9/photo__5_.jpg" 
     ); 

foreach($links as $k => $link) 
{ 
    echo $k . '->' . $link . '<br/>'; 
} 
?> 
+0

Опять же, $ i <= $ n должно быть: $ i <$ n. –

+0

Вам не нужно указывать это с помощью foreach. –

+0

А, мой плохой, код в этом ответе был обновлен. –

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