
こんばんわ,
現在PHPを学習しています。
たとえば,
$hoge[0]=1;
$hoge[1]=2;
$hoge[2]=3;
$hoge[3]=4;
$hoge[4]=5;
$hoge[5]=6;
$hoge[6]=7;
と配列があり,これをforeachで回していく際に,hogeが5になったときには,次の配列の要素である6を参照したい場合に
foreach($hoge as $val){
if($val == 5){
/* $valの次の要素を見たい */
}
else{
echo $val;
}
}
をどのようにすれば,よろしいでしょうか。foreach文ではだめなのでしょうか。
nextやeachをしようしようとおもったのですが,うまくいきません。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
foreachでは、元の配列の複製を対象に
繰り返し処理が行われます。next(),each()は、
元の配列に対して処理を行うので、ポインタが
異なります。
#1さんの回答で行うか、
foreach($hoge as $key => $val) {
if ($val == 5) {
echo $hoge[$key + 1];
} else {
echo $val;
}
}
として下さい。
No.2
- 回答日時:
#1さんの回答が最善ですが、
どうしてもforeachということで、配列の中身が決まっているんであれば、
if($val==5){
echo $hoge[5];
}
とか・・・
かなり荒業で実用性ないですが、このポイントに限ればありかと。
あと、$count++とかしていってもいいですよね。
それなら最初からfor使えってことですが(笑
No.1
- 回答日時:
foreachではなく、for文を使ってみては?
for($i = 0 ; $i < count($hoge); $i++){
if($i == 5){
echo $hoge[$i+1];
} eles {
echo $hoge[$i];
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
フォームで戻った際に入力済み...
-
SplFileObject を利用したとき...
-
PHP8を使うと、大量のWarningが...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
php 完了画面の送信メールのコ...
-
csvファイルについて教えて下さ...
-
PHPの変わった閉じタグの必要性...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
PHPのカッコ[ ]の使い方について
-
String だと「 ByRef引数の型が...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
PHP掲示板で新着順に表示させた...
-
チェックボックス複数選択 mys...
-
$_POSTを一括してサニタイズし...
-
Smartyでtplファイルから配列を...
-
ネストが深い時のforeachはどう...
-
配列をmysqlに保存
-
プルダウンメニューでCSVデータ...
-
postgresql関数をつかったレコ...
-
禁止ワード設定
-
sortableで並べ替えてDBに保...
-
ファイルから指定行数分だけ読...
-
配列を分解したいのですが
-
リストビュー 条件により表示
-
配列一致(要素順番は違うが内容...
おすすめ情報