指定された位置から開始して PHP 配列をクエリするにはどうすればよいですか?
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);例cからループさせたいのですが、どうやって書けばいいでしょうか?
ディスカッション (解決策) への返信
これであなたが望むものを達成できますか?配列のキー名を取得し、キー名が c と等しい場合にのみループに入ります。
これであなたの望みを達成できますか?配列のキー名を取得し、キー名が c と等しい場合にのみループに入ります。
もっと詳しく教えてもらえますか?
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $arr1 = array_slice($arr, 2); // ?arr の次の 2 を取り出します
foreach($arr1 as $key=>$val){
echo $key.'='.$val. '
'
}
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, " e"=>5);
foreach($arr1 as $key=>$val){
echo $key.'='.$val.'
';
}
ただし、この添字は必ずしも 2 番目の位置にあるとは限りません。あるいは、c の前に 10 が来る場合もあれば、100 が来る場合もあります。
??分かった?。 りー
上の人の言うことは良いことです。 。
実際、#5 の考えは正しいです。つまり、一度トラバースし、指定されたキーが表示される前にデータを処理しません
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);$flag = 0;foreach($arr as $key=>$val){ if($key=='c'){ $flag = 1; } if($flag==1){ echo $key.'='.$val.'<br>'; }}
このように書かれています、より合理的です
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);$index = array_search('c',array_keys($arr));$arr1 = array_slice($arr, $index);foreach($arr1 as $key=>$val){ echo $key.'='.$val.'<br>';}
いくつかの配列関数の使い方を学び、理解しました
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);$flag = false;foreach($arr as $key=>$val){ if(! ($flag = $flag ? $flag : $key == 'c')) continue; echo $key.'='.$val.'<br>';}
キー名に基づいて配列内の位置ポインタを取得する方法はありますか
ループするときはポインタから直接スタート最初からたどるのは時間の無駄、foreachでコピーを作成して不要なメモリに適用
6階と9階のコードはとても良いですが、アセンブリを使用していますと C++ でコアコードを表現します... 夕食後、PHP マニュアルを勉強してください
の配列関数
$arr = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);foreach($arr as $key=>$val){ if(! ($flag = $key == 'c' ? true : !empty($flag))) continue; echo $key.'='.$val.'<br>';}
124520
0 124520 124520
明らかに
foreach はコピーを作成し、不要なメモリ
を割り当てます
キー名に基づいて配列内のデータを取得する方法はありますか? 位置ポインター はループするときにポインターから直接開始します
最初からたどるのは時間の無駄であり、foreach はコピーを作成して適用します不要な記憶のために
6階と9階のコードはとても良いですが、コアコードの強迫性障害をアセンブリとC++を使用して表現しました...
夕食後、PHPマニュアルで配列関数を勉強してください
キー名に基づいて配列内の位置ポインターを取得する方法はありますか? ループを実行するときは、ポインターから直接開始します
6階と9階のコードはとても良いのですが、コアコードをアセンブリとC++で表現したため、強迫性障害になっています...
夕食後、PHPの配列関数を勉強してくださいマニュアル
$a = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);for (;;next($a)) { if ( key($a) == 'c' ) { while (list($key, $val) = each($a)) { echo "$key => $val<br />"; } break; }}
124520 0 124520 124520
明らかに
foreach はコピーを作成して不要なメモリを適用します
それは間違っています
私を正してくれたxu...私がちょうど勉強していたときにそれは考えられていますforeach は元の配列を直接ループしますが、Foreach はコピーをコピーしてからそれを走査するものであることがわかりました。$value のコピーを作成してもメモリは更新されません。詳しく見ていきます
$i = $v = 0;echo memory_get_usage(), PHP_EOL;$a = array(1,2,3,4,5,6,7);echo memory_get_usage(), PHP_EOL;foreach($a as $i=>$v) { echo $i, ' ', memory_get_usage(), PHP_EOL; break;}echo memory_get_usage(), PHP_EOL;
124520
0 124520 124520
明らかに
foreach はコピーを作成し、不要なメモリを適用しました
これは間違っています
間違いを犯したことに気づきました...
$i = $v = 0;echo memory_get_usage(), PHP_EOL;$a = array(1,2,3,4,5,6,7);echo memory_get_usage(), PHP_EOL;foreach($a as $i=>$v) { echo $i, ' ', memory_get_usage(), PHP_EOL; break;}echo memory_get_usage(), PHP_EOL;
グローバル変数の配列と関数によって返される配列をそれぞれテストすると、結果は異なります。foreach は関数の実行結果をキャッシュし、ループ終了後にすぐに解放し、既存の変数に遭遇した場合は直接参照します。
もちろん
fn() によって返された配列を誰かが取得する必要がありますよね?
実際の変数はありません。PHP もそれをスタックに置く必要があります
私はそれを学び、いくつかの配列関数の使用法を理解しました
あなたは再びここに来て、私はすでにレベル 3 です

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
