Как создать массив из строковой переменной? Это сценарий, я пытался, но он не работает:Как создать массив php из строковой переменной?
$names = '"Darius","Fiora","Katarina","Zed","Ahri","Lee sin"';
$array = array($names);
Как создать массив из строковой переменной? Это сценарий, я пытался, но он не работает:Как создать массив php из строковой переменной?
$names = '"Darius","Fiora","Katarina","Zed","Ahri","Lee sin"';
$array = array($names);
Я не думаю, что explode
является то, что он хочет, как он может добавить "к элементам массива
Если ваша строка довольно. SURE отформатирован, eval
функция является необязательной выбор (более эффективный):
$names = '"Darius","Fiora","Katarina","Zed","Ahri","Lee sin"';
eval('$array=array('.$names.');');
print_r($array);
См result
ПРИМЕЧАНИЕ: плз отметить eval
- это некоторая опасность, если ваша строка не такая уж и определенная, как упоминалось в @jay.
[When is eval evil?] (Http://stackoverflow.com/questions/951373/when-is-eval-evil-in-php) –
'eval()' является рискованным. Нет причин использовать его, когда есть более простые альтернативы. – Vlad
@ Vlad: Нет причин не использовать его с известным входом. Особенно, если это препятствует вам иметь возможность str_replace или trim, чтобы избавиться от котировок и т. Д. – AbraCadaver
Вы можете использовать explode() следующим образом:
$arr = explode(',',$names);
Или, если вы тусклый сделать противоположное использование implode().
Возможно, чтобы удалить кавычки: '$ arr = explode (',', str_replace ('' ',' '$ names));' – AbraCadaver
, если его '$ names ='" Darius "," Fiora "," Katarina " «Zed», «Ahri», «Lee, sin», 'it wont work – harrrrrrry
Он отлично работает @zairwolf, код AbraCadaver возвращает' Array ([0] => Darius [1] => Fiora [2] => Katarina [3] => Zed [4] => Ahri [5] => Lee sin) 'Mhmd возвращает то же самое с кавычками вокруг каждой строки. Легко проверяемый. –
'$ array = explode (',', $ names);' – splash58