2017-05-10 3 views
1

私はこの小さなコードを修正するための少し助けが必要です。考え方は、$remove_strの中にある数字を$list_strから削除することです。ご覧のとおり、私はすでに両方の文字列を配列に変換し、リスト配列内をループしてremove配列内の値を検索し、一致するものがあれば削除することで問題を解決しようとしました。しかし、結果は私が期待していたものだけです。私はしばらくそれを見て回ってきましたが、私の頭は解決策を見るために大いに回転しています。別の配列に基づいて配列から値を削除する

<?php 

$remove_str = '5,6,8,56,195'; 
$list_str = '1,3,6,9,34,150,195,213'; 

$remove_arr = explode(',', $remove_str); 
$list_arr = explode(',', $list_str); 

foreach($list_arr as $value){ 
    $position = array_search($value, $remove_arr); 

    if($position !== false){ 
     unset($list_arr[$position]); 
    } else { 
     continue; 
    } 
} 

$result = implode(',', $list_arr); 

echo $result; 

?> 

結果:

1,6,9,150,195,213

期待される結果:

1,3,9,34,150,213

答えて

3

ますC使用array_diff、

array_diff($list_arr, $remove_arr); 
+0

アイデアは十分に簡単です。今すぐ自分のコードでそれを試してみてください。あなたに知らせるでしょう:) – icecub

+1

うわー、それは実際に魅力のように動作します!どうもありがとう!あなたが私にできるようになるとすぐに答えてくれるでしょう、笑 – icecub

関連する問題