PHP 配列に重複を見つけるコードの仕組み

理解できないところ

配列に重複がある場合にtrueを返し、重複が無い場合はfalseを返すという動作は正常にするのですが、その仕組みがわかりません。

foreachが2回連続していて、どちらも$array as キー => 値になっているので、キーの$iと$jの値は重複があっても同じ番号になると考えていました。

しかし、動作は正常にしているので、7行目のif文の条件で、$iと$jの値がズレるということだと思います。どのようにこのズレが生まれるのか教えて頂きたいです。

該当のソースコード

PHP

1<?php2 3$array = ['HND', 'NRT', 'KIX', 'NGO', 'NGO'];4//キー=>値5foreach ($array as $i => $a) {6 foreach ($array as $j => $b) {7 if ($i !== $j && $a === $b) {8 echo 'true' . "\n";9 return;10 }11 }12}13 14echo 'false' . "\n";

コメントを投稿

0 コメント