リンゴ、ミカン、バナナ
という順番の配列でバナナは何番目にあるのかを出力したいです。
$fruits = array('リンゴ','ミカン','バナナ’); foreach($fruits as $value){ if($value == 'バナナ'){ echo ほげほげ; } }
ほげほげ、はこの場合3
で出力したいのですが、バナナの配列の順番を拾ってくる関数などありますでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
複数個を拾うならこんな感じかなぁ。。。
出力は適当に加工して下さい。
php
1<?php 2$fruits = ['リンゴ', 'ミカン', 'バナナ', 'リンゴ', 'ミカン', 'バナナ', 'リンゴ', 'ミカン', 'バナナ', 'リンゴ', 'ミカン', 'バナナ']; 3$needle = 'バナナ'; 4 5$result = array_keys(array_filter($fruits, function ($x) use ($needle){ 6 return $x === $needle; 7})); 8 9var_dump($result);
質問のコードは、配列がおかしいですよ。見直すと良いです。
投稿2019/07/29 16:50
退会済みユーザー
総合スコア0
0
ベストアンサー
この場合は array_search がいいと思いますが
ループで探すなら
php
1$fruits = array('リンゴ','ミカン','バナナ'); 2 3$r = -1; 4$v = 'バナナ'; 5for ($i=0; $i<count($fruits); $i++) { 6 if ($fruits[$i] == $v) { 7 $r = $i; 8 break; 9 } 10} 11if ($r > -1) { 12 echo $v . 'は' . $r . '番目です。'; 13} else { 14 echo $v . 'はありません。'; 15}
投稿2019/07/29 13:48
総合スコア7458
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/07/29 20:28
退会済みユーザー
2019/07/29 22:21
2019/07/29 22:43
2019/07/30 16:07
0
array_search は試しましたか?
【PHP: array_search - Manual】
https://www.php.net/manual/ja/function.array-search.php
投稿2019/07/29 13:00
総合スコア69364
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/29 15:57
2019/07/29 16:00
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。