2015-07-30 4 views

ответ

-4

Я не думаю, что explode является то, что он хочет, как он может добавить "к элементам массива

Если ваша строка довольно. SURE отформатирован, eval функция является необязательной выбор (более эффективный):

$names = '"Darius","Fiora","Katarina","Zed","Ahri","Lee sin"'; 
eval('$array=array('.$names.');'); 
print_r($array); 

См result

ПРИМЕЧАНИЕ: плз отметить eval - это некоторая опасность, если ваша строка не такая уж и определенная, как упоминалось в @jay.

+1

[When is eval evil?] (Http://stackoverflow.com/questions/951373/when-is-eval-evil-in-php) –

+2

'eval()' является рискованным. Нет причин использовать его, когда есть более простые альтернативы. – Vlad

+3

@ Vlad: Нет причин не использовать его с известным входом. Особенно, если это препятствует вам иметь возможность str_replace или trim, чтобы избавиться от котировок и т. Д. – AbraCadaver

3

Вы можете использовать explode() следующим образом:

$arr = explode(',',$names); 

Или, если вы тусклый сделать противоположное использование implode().

+0

Возможно, чтобы удалить кавычки: '$ arr = explode (',', str_replace ('' ',' '$ names));' – AbraCadaver

+0

, если его '$ names ='" Darius "," Fiora "," Katarina " «Zed», «Ahri», «Lee, sin», 'it wont work – harrrrrrry

+0

Он отлично работает @zairwolf, код AbraCadaver возвращает' Array ([0] => Darius [1] => Fiora [2] => Katarina [3] => Zed [4] => Ahri [5] => Lee sin) 'Mhmd возвращает то же самое с кавычками вокруг каждой строки. Легко проверяемый. –