2012-10-11 2 views
2

나는 마지막으로 출력 위의 출력은 $ 온도에 저장됩니다PHP 배열이 제대로 증가하지 않습니다. 내 PHP 코드에서

['October 20, 2003', '047085815X', '978-\n0470858158', '1', u'\nWireless Foresight: Scenarios of the Mobile World in 2015 [Hardcover]\n'] 

을 다음 쉘 스크립트의 무리를 실행합니다.

내가 에코 $ 온도를 할 때, [0]가 열려 브래킷 및 에코 $ 온도 [1] 인쇄 작은 따옴표 등 첫 번째 인쇄 .....

나는 이것이 그것 때문이라고 생각 문자열이 아닌 배열.

각 요소가 혼수 상태로 분리되어 있으므로 이것을 n 배열로 변환하고 싶습니다.

그러나 2003 년 10 월 20 일에 쉼표가 있고 그 자체 요소로 남아 있어야합니다.

누군가가 나를 찾는 기능을 알려줄 수 있습니까?

+0

배열 위치가 '4'인 문자열 앞의 'u'는 무엇입니까? – Daedalus

+0

PHP 매뉴얼에서 str_getcsv보세요 http://nz1.php.net/str_getcsv – bumperbox

답변

1

나는 이것이 당신이

str_getcsv()

빠른 예를 찾고있는 기능이라고 생각

$line = "'October 20, 2003', '047085815X', '978-\n0470858158', '1', '\nWireless  Foresight: Scenarios of the Mobile World in 2015 [Hardcover]\n'"; 

$parsed = str_getcsv(
    $line, # Input line 
    ",", # Delimiter 
    "'" # Enclosure 
); 

print_r($parsed); 

출력 :

Array ([0] => October 20, 2003 [1] => 047085815X [2] => 978- 0470858158 [3] => 1 [4] => Wireless Foresight: Scenarios of the Mobile World in 2015 [Hardcover]) 
+0

훨씬 더 상세한 대답 .... +1 –

2

를 열고 [] 폐쇄 트림, 그런 다음 str_getcsv()

를 사용하십시오.
+0

Welp .. 내 것보다 훨씬 낫다. +1. – Daedalus

0

자바 스크립트 배열에 더 가까운 것으로 보입니다. 어떻게 쉘 스크립트가 작동하는지 모르겠지만 PHP 배열이 어떻게 형성되는지는 알고 있습니다. 당신이이 PHP 배열 형성하기 위해 다음과 같은 필요 : 당신을 위해 그래서

$temp = array('item1','item2','etc'); 

을, 나는 출력 다음을 뺀 대괄호 거라고 :

$temp = array('October 20, 2003', '047085815X', '978-\n0470858158', '1', '\nWireless Foresight: Scenarios of the Mobile World in 2015 [Hardcover]\n'); 

그리고 $ 온도 [0]을 반환합니다 올바른 정보.

0

작은 따옴표 바깥에있는 신비한 u 기호를 제외하고 입력 내용은 js 배열과 매우 비슷하게 보이지만 다른 모든 대답은 무시됩니다. 따라서 작은 따옴표를 큰 따옴표로 변경하면 json_decode 함수를 사용하여 PHP 배열을 js에서 가져올 수 있습니다.

$str = '["October 20, 2003", "047085815X", "978-\n0470858158", "1", "\nWireless Foresight: Scenarios of the Mobile World in 2015 [Hardcover]\n"]'; 
print_r(json_decode($str));