![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
二つの配列を比較して同じ値が入っていた場合、そのKEYを配列に入れたいと思います。
(例)$aと$bを比較して同じ値が入っているときに$aのkeyを$cに格納したい。
$a = array("","","山","","川","海","","富士山","空","","");
$b = array("川","","","","","海","","富士山","空","");
※空白は無視したい。
この場合
$c = array("4","5","7","8");
のようにしたいと思います。
どなたか教えてください。
No.1ベストアンサー
- 回答日時:
全件比較なら、foreachを二重で回せばよいのでは?
<?
$a = array("","","山","","川","海","","富士山","空","","");
$b = array("川","","","","","海","","富士山","空","");
foreach($a as $key=>$val){
foreach($b as $val2){
if($val!="" and $val===$val2) $c[]=$key;
}
}
print_r($c);
?>
ただ、空白の頻度がたかいのであれば、先に除外した方が
効率はよいでしょう。
<?
$a = array("","","山","","川","海","","富士山","空","","");
$b = array("川","","","","","海","","富士山","空","");
foreach($a as $key=>$val){
if($val!=="") $aa[$key]=$val;
}
foreach($b as $key=>$val){
if($val!=="") $bb[$key]=$val;
}
foreach($aa as $key=>$val){
foreach($bb as $val2){
if($val===$val2) $cc[]=$key;
}
}
print_r($cc);
?>
No.2
- 回答日時:
すでに回答が出ているようですので、不要な情報とは思いますが
処理速度を優先するなら、ループを回さずに求める方法もあります
<?php
$a = array("","","山","","川","海","","富士山","空","","");
$b = array("川","","","","","海","","富士山","空","");
$a1=array_flip($a);
$b1=array_flip($b);
$c1=array_intersect_key($a1,$b1);
unset($c1[""]);
$c=array_values($c1);
print_r($c);
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript java keyを配列で表記したい 10 2022/12/01 17:53
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) 比較して等しくなかったらセルを赤くする 4 2022/07/19 20:11
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Excel(エクセル) スプレットシートでA1~G1にデータが入っていて、 それを1列ずつ空けて表示する関数がわかる方いまし 4 2022/08/25 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列からプルダウン用のHTMLを生成
-
3つの連想配列を交互に代入し...
-
マッチング処理(1:N)
-
リストボックス複数選択抽出方法
-
PHPでこのコード自体に意味は無...
-
foreachで上限回数指定方法また...
-
配列の何番目かを出力したい
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
FortranのOPEN文
-
PHPでの正規表現を使った文字列...
-
プルダウンメニューにDBの内容...
-
foreachのなかで次のキーを参照...
-
pythonのnumpyでの繰り返しでの...
-
漢字のソートについて
-
配列同士の足し算のループ処理
-
PHPで配列をPOSTデータで送った...
-
ページング処理について
-
sortableで並べ替えてDBに保...
-
スカラーのベクトル微分
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複確認
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
Excel VBAでフィルター後の対象...
-
VB.NET で 二次元のハッシュは...
-
多次元配列を、1次元の配列にす...
-
SELECT 使用時の bindValue の...
-
Smartyでインクリメント
-
PHPでこのコード自体に意味は無...
-
PHP、{}記号の意味
-
配列を比較して同じものがあっ...
-
phpでforeachの中にforeachがあ...
-
多次元配列の中で条件に合う要...
-
sqlのデーターを『あ行』『か行...
-
ラジオボタンをランダムに表示...
-
キーが倍数の時の値の存在チェ...
-
三重県南部の温泉
-
foreachで配列を、左から縦3列...
-
ジャグ配列
-
構造体の中でユーザー定義型の...
おすすめ情報