2016-07-29 2 views
1

내가 드래그를 가지고 다음과 같은 문자열을 저장하는 JS 플러그인을 삭제 Foreach 루프에 대한 폭발 :PHP 쉼표로 구분 또는

["кровать","бегемот","корм","валик","железосталь"] 

나는 "나는 두 브래킷을 제거하기 위해 배열 않는 str_replace를 사용할 수 있다는 것을 발견했다 문자. 지금이 문제는 나는 그것이 각각의 단어를 구별 할 수 없습니다로 foreach 루프 통과에 대한 잘못된 인수를 가지고있다. 그래서

$bar = '["кровать","бегемот","корм","валик","железосталь"]'; 
$new_str = str_replace(str_split('[]"'), '', $bar); 

foreach($new_str as $arr){ 

    echo $arr; 

} 

데이터 (나는 에코한다면 다음과 같이 이제 출력 모양을 foreach 루프 이전) :

кровать,бегемот,корм,валик,железосталь 

나는 foreach를 통해이를 전달하기 위해 delimeter로 쉼표를 사용할 수 있습니까? 각 단어는 자체 변수입니다.

더 쉬운 방법이 있나요? 모든지도 크게 감사!

+8

입니다? 당신은 아마'json_decode()'해야 할 것이다. –

+0

'foreach (explode (',', $ new_str) as $ arr)'그러나 위와 같이 js는 일반 js 배열을 사용하고 있습니다. 이것을 PHP로 전달하는 방법을 보여 준다면 더 좋은 해결책이 될 것입니다. – Steve

답변

2

기술적를, 당신이 explode을 사용할 수 있지만, 당신은 단순히이 작업을 수행 할 수 있도록, 당신은 JSON을 받고 있다는 것을 인식해야한다 :

다음 코드에서 http://www.w3schools.com/php/func_string_explode.asp

$bar = '["кровать","бегемот","корм","валик","железосталь"]'; 
$new_str = json_decode($bar); 

foreach($new_str as $arr){ 

    echo $arr; 

} 

이상한 괄호, 쉼표 또는 기타 구문 분석이 없습니다.

+0

이것은 완벽합니다. 아마도 더 쉬운 방법 일 것이라고 생각합니다 - 고마워요! –

2

필요한 기능은 explode()입니다. 여기를보세요 :

$bar = '["кровать","бегемот","корм","валик","железосталь"]'; 
$new_str = str_replace(str_split('[]"'), '', $bar); 
$exploding = explode(",", $new_str); 

foreach($exploding as $token){ 

    echo $token; 

} 
1
<?php 
    $aa = '["кровать","бегемот","корм","валик","железосталь"]'; 
    $bb = json_decode($aa); 
    foreach($bb as $b) 
    echo $b."\n"; 
?> 

결과는 당신이 JSON 문자열을 얻고 배열로 변환 할 것처럼 보이는

кровать 
бегемот 
корм 
валик 
железосталь 
2

이다. 이를 수행 할 수있는 몇 가지 방법이 있습니다. 이 같은 explode 을 사용할 수

$bar = '["кровать","бегемот","корм","валик","железосталь"]'; 
$new_str = str_replace(str_split('[]"'), '', $bar); 
$new_str_array = explode($new_str); 

foreach($new_str_array as $arr){ 

    echo $arr; 

} 

또는이 같은 json_decode 사용할 수 있습니다 그 JSON은

$bar = '["кровать","бегемот","корм","валик","железосталь"]'; 
$new_str_array = json_decode($bar); 

foreach($new_str_array as $arr){ 

    echo $arr; 

}