以下のコードは、私がやろうとしているものの単純なバージョンです。コードは2つのファイルを読み込み、一致するエントリがあるかどうかを確認し、一致するエントリがある場合は、その項目の数値に差異を表示します。しかし、それは動作していません。最初のエコーは単語を表示しますが、2番目のエコーは決して到達しません。誰かが私が逃していることを説明してくれますか?In_arrayが動作しない - 2つのファイルを比較する
$mainArry = array('Albert,8');
$arry = array('Albert,12');
foreach ($arry as $line) {
$kword = explode(',', $line);
echo 'kword '.$kword[0];
if (in_array($kword[0], $mainArry)) {
echo 'line '.$line. ' has count of '.$kword[1] . '<br>';
}
}
最初の配列には1つの要素、「Albert、8」しか含まれていません。これは意図したものか、代わりに2つのアイテムを '[" Albert "、8]'として保存したいのですか? – Artemis
$ mainArrayに 'Albert'のkwordを検索しているようですが、$ mainArrayには 'Albert、8'しかないので一致しません。 – MCMXCII
Stackoverflowでの回答の利点の1つは、同様の質問をした他のユーザーを助けることができることです。あなたの質問は本当にかなり工夫されているので、これに関してはほとんど達成できません。あなたが達成しようとしていることと、それを特定のやり方で選んだ理由についてより多くの視点を置く方が良いでしょう。これにより、回答の質が向上するだけでなく、あなたの質問がコミュニティに役立つ可能性が高まります。常に他の質問者と一緒にあなたの質問を覚えておいてください。 – Jonathan