私はこの配列を持っています:
$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');
Die()+ var_dumo()では、この配列は私を返します:
array:2 [▼
0 => "hc1wXBL7zCsdfMu"
1 => "dhdsfHddfD"
2 => "otheridshere"
]
Design_idが$ list_desings_ids配列に存在するかどうかを確認したいです。
例えば:
foreach($general_list_designs as $key_design=>$design) {
#$desing->desing_id return me for example: hc1wXBL7zCsdfMu
if(array_key_exists($design->design_id, $list_desings_ids))
$final_designs[] = $design;
}
しかし、これは私にはうまくいきません、正しい方法は何ですか?
代わりにarray_key_exists
と入力するだけでin_array
この配列をダンプすると問題が解決します
$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');
出力は、
array(
0 => hc1wXBL7zCsdfMu,
1 => dhdsfHddfD,
2 => otheridshere
)
あなたのコードarray_key_exists
はここではキー0,1,2
が存在するので、値を確認したいので、値については、これを実行してくださいin_array
それはあなたの言及/作成された配列であなたの欲望値を検索します
これにはin_array
を使用できます。
試してみる
$design_id = 'hc1wXBL7zCsdfMu';
$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');
if(in_array($design_id, $list_desings_ids))
{
echo "Yes, design_id: $design_id exits in array";
}
配列にキーがありません。
これを試して
foreach($general_list_designs as $key_design=>$design) {
#$desing->desing_id return me for example: hc1wXBL7zCsdfMu
if(in_array($design->design_id, $list_desings_ids))
$final_designs[] = $design;
}
条件のみを変更する必要があり、そのコードに置き換えます
if(in_array($design->design_id, $list_desings_ids))