2016-07-29 16 views
1

私はドラッグを有し、以下のように文字列を保存しているJSプラグインをドロップForeachループのための爆発:PHPカンマ区切り又は

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

I "私は両方のブラケットを除去するために、アレイ内のstr_replaceを使用することができることを発見しました文字。私が今持っている問題は、私はそれは、個々の単語を区別できないとして、foreachループを通過するため、無効な引数を持っているということです。だから、

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

foreach($new_str as $arr){ 

    echo $arr; 

} 

データ(私はエコーした場合、次のようになりまし出力ルックスをforeachループの前):

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

区切り文字としてコンマを使用してforeachに渡すことはできますか?各単語はそれぞれ独自の変数ですか?

これを行う簡単な方法はありますか?どんな指針も大変ありがとう!

+8

はそのJSONであるあなたは、このようなexplode を使用することができますか?おそらく 'json_decode()'だけにしてください。 –

+0

'foreach(explode( '、'、$ new_str)as $ arr)'しかし、上記のように、jsは通常のjs配列を使用しています。あなたがこれをPHPに渡す方法を示すなら、より良い解決策があります – Steve

答えて

2

技術を、あなたはexplodeを使用することができますが、あなたは、単にこれを行うことができますので、あなたは、あなたがJSONを取得していることを認識すべきである:

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

foreach($new_str as $arr){ 

    echo $arr; 

} 

角括弧、カンマまたはその他の構文解析はありません。

+0

これは完璧です、おそらくもっと簡単な方法があると思った - ありがとう! –

2

必要な機能はexplode()です。ここを見てみましょう:次のコードで http://www.w3schools.com/php/func_string_explode.asp

ルック:

$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

です。これを行うにはいくつかの方法があります。

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

foreach($new_str_array as $arr){ 

    echo $arr; 

} 

か、このようなjson_decode 使用できます:

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

foreach($new_str_array as $arr){ 

    echo $arr; 

} 
関連する問題