2012-03-15 3 views
1

см. Нижеприведенный код.PHP preg_split Не работает

$dArr = '<script>document.write(volunteerDist);</script>'; 

$ dArr получает значение добровольца. Эхо $ DARR печатает значение 4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5

Я хотел разделить это на элементы в массиве, так что я использовал:

$dArr = preg_split("/,/", $dArr); 

Но $ dArr - это массив с только одним элементом, который является всеми значениями. Это означает, что не было preg_split. Я также пробовал

$temp=explode(",", $dArr); 

но все еще не работал.

Я попытался вставить значение (т.е. вышеуказанные цифры) и preg_split его непосредственно

$temp=explode(",", '4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5'); 

и она была успешной. Что не так? УКАЗЫВАЙТЕ, что, когда я повторяю $ dArr, цифры печатаются.

+0

Прежде всего, если вы только разделяете '', вы должны использовать 'explode()' в любом случае. Потери производительности 'preg_split()' незначительны, но если вы делаете это, это любая итерация, вы также можете воспользоваться кратностью и скоростью 'explode()'. – Dan

+0

Работает отлично для меня http://codepad.org/ooeOHHz4 – ManseUK

+1

Нет, echo $ dArr печатает тег '= точно 47. Когда ** отправляется в браузер **, он отображает значение в ** стороне клиента **' volunteerDist'. Измените строку на: '$ dArr = ' '; 'и, возможно, вы увидите, что я все время пытаюсь сказать. –

+0

Чтобы вставить это в базу данных, вам придется использовать AJAX. Ищите jQuery AJAX, это самый простой и удобный способ - включить базовую библиотеку jQuery, а затем с одной строкой вы можете отправить значение в ваш PHP-код. –

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