Недопустимое смещение строки Предупреждение PHP - PullRequest
168 голосов
/ 26 марта 2012

Я получаю странную ошибку PHP после обновления моей версии php до 5.4.0-3.

У меня есть этот массив:

Array
(
    [host] => 127.0.0.1
    [port] => 11211
)

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

 print $memcachedConfig['host'];
 print $memcachedConfig['port'];


 Warning: Illegal string offset 'host' in ....
 Warning: Illegal string offset 'port' in ...

Я действительно не хочу просто редактировать свой php.ini и заново устанавливать уровень ошибок.

Ответы [ 14 ]

0 голосов
/ 01 октября 2018

Это работает для меня:

Мой код тестирования:

$var2['data'] = array ('a'=>'21','b'=>'32','c'=>'55','d'=>'66','e'=>'77');
foreach($var2 as $result)
{  
    $test = $result['c'];
}
print_r($test);

Вывод: 55

Проверьте, ребята.Спасибо

0 голосов
/ 09 июня 2017

В моем случае я решил это, когда изменил функцию, которая sql запрашивает после: return json_encode($array) затем: return $array

0 голосов
/ 29 марта 2017

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

В моем случае у меня было:

$buyers_array = array();
$buyers_array = tep_get_buyers_info($this_buyer_id); // returns an array
...
echo $buyers_array['firstname'] . ' ' . $buyers_array['lastname']; 

который я изменил на:

$buyers_array = array();
$buyers_array = tep_get_buyers_info($this_buyer_id); // returns an array
...
if(is_array($buyers_array)) {
   echo $buyers_array['firstname'] . ' ' . $buyers_array['lastname']; 
} else {
   echo 'Buyers id ' . $this_buyer_id . ' not found';
}
0 голосов
/ 07 марта 2017

Просто, если это кому-нибудь поможет, я получил эту ошибку, потому что забыл десериализовать сериализованный массив. Это определенно то, что я хотел бы проверить, относится ли это к вашему делу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...