バックグラウンド
と という名前の 2 つの配列が$attributes
あり$graphs
ます。属性には、次のようなデータが保持されます。
$attributes = array('lat', 'long', '');
一方、$graphs
次のようなサブ配列が含まれています。
$graphs = array(
'bar_chart' => array('gender', `lat`, `long`),
'pie_chart' => array('gender', 'location', 'pos_sentiment', 'neg_sentiment'),
'line_chart' => array('pos_sentiment', 'neg_sentiment')
);
問題
私の$attributes
配列はデータベース内のデータから生成され、要素の 1 つが空の場合、他の属性を含むグラフは返されません。
私の質問
attributes
最初の配列 ( ) が 2 番目の配列 ( ) に要素を持っているかどうかを知りたいですgraphs
。空の文字列を考慮したくありません。
アップデート
array_filter関数が空の文字列を削除することに気付いたので、それを上記の自分のコードに適用すると、希望する結果が得られました。
コードは次のとおりです。
foreach ($graphs as $key => $array)
{
if (count(array_intersect(array_filter($attributes), $array)) == count(array_filter($attributes)))
{
$solved[] = $key;
}
}