連想配列phpのFindind配列

Arpit patidar

連想配列のキーで配列値を検索してから、キー値の配列を作成しようとしています。in_array()funcを使用して検索していますが、foreachfuncを1つの配列に使用できます。

これは私のコードですが、問題は文字列を要求され、配列を指定したことです。

function getrarity(){
$json = '{"cards":[
        {
            "card_verify_id":"1",
            "name":"cardname1",
            "rarity":"1"
        },
        {
            "card_verify_id":"2",
            "name":"cardname2",
            "rarity":"2"
        }]
}';
$card = array(1, 2);
$cards = json_decode($json);
$commons = array();

foreach($cards->cards as $items) {
    if(in_array($card, $items->card_verify_id)){
        $commons[] = array("$items->card_verify_id", "$items->name", "$items->rarity");
    }
}
return $commons;
}
print_r(getrarity());
AbraCadaver

これin_arrayは、最初の引数として配列をとらないためです。あなたは、単にフィルタリングしているかどうかを確認することができcard_verify_idています$card配列としてのデコード:

$cards = json_decode($json, true)['cards'];
$commons = array_filter($cards,
                        function($v) use($card) {
                            return in_array($v['card_verify_id'], $card);
                        });

オブジェクトとしてのデコード:

$cards = json_decode($json)->cards;
$commons = array_filter($cards,
                        function($v) use($card) {
                            return in_array($v->card_verify_id, $card);
                        });

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事