問題タブ [array-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 配列要素にキーがありますか
foreach ループの配列要素にキーがあるかどうかを確認するにはどうすればよいですか?
いくつかのコード:
編集#1
$arr2
自動化されたインデックスキーとしても認識しています。自動化されているかどうかを知る必要があります。
編集#2
私の使い方は簡単です。
関数では、新しい配列を作成し、関数呼び出しによって提供された場合$key
は new として使用します。$key
または、関数呼び出しで省略された場合$value
は new として。$key
各要素にキーの使用を強制できることはわかっていますが、コードの一部では、データ構造自体が非常に動的です* - そして私は可能な限り柔軟に保とうとしています.
*他のコードを作成するコード、...を作成するコードなど。
arrays - 配列内のキーへのアクセス
以下の JSON 構造は、検索結果の形式を示しています。詳細はこちら
以下は、PHPファイルの値を取得するために私が従っているコードです。
ここからタイトルタグを取得できますが、サムネイルの URL 文字列値を取得する方法。を使ってやってみまし$video['snippet']['thumbnails']['key']['url']
た。
編集:コードを直接実行して、これを応答として取得しました。今、私は として url 値にアクセスしようとしました$video['snippet']['thumbnails']['high']['url']
。まだ運が悪い!! それは言い Warning: Illegal string offset 'high'
ます。
php - PHPの配列キー
私はこのコードを理解しようとしています:
出力:
インデックス 4 と 5 の両方にあるため、なぜそうなのか[4] => 2 and why [5] => 3
と思ってい[4] => 4 and [5] => 5
ます。この配列で正確に何が起こっているのかについて少し混乱しています。可能であれば、誰かが私を正しい方向に向けることができます。ありがとう.
php - 単体テスト: PHP を壊さない無効な配列キーを指定します。可能?
私は小さなクラスの単体テストに取り組んでいます。私はこのクラスを使用して PHPUnit に取り掛かり、将来私が作成するより大きなコードを適切にテストできるようにしています。
テストしようとしている次のコードを検討してください。
以下は実際のテストコードです。
問題は、このテスト関数は、true
何度返そうとしても常に返されることfalse
です。null 値、300 文字以上のキー、空の配列、さらには新しいオブジェクトのインスタンスを指定しようとしました。いずれの場合も、PHP は中断するか、なんらかの警告をスローします。PHP が壊れない場合、私の値は、PHP が配列キーで受け入れる何かに変換され、$this->assertFalse()
..
可能な限り多くのコード カバレッジを実現したいと考えています。
私の質問は、現在のコードを考えると、これらのメソッドがfalse
通常の操作で戻るかどうかです。
私はテキストを追加しているので(これは管理目的です)、私が何を与えるかに関係なく、PHPが受け入れるある種のキーを常に提供していると考えています$id
。
何かご意見は?
前もって感謝します!
php - PHP 配列のキーが特定の数値範囲内で負の値に変化する
偶然にも、PHP 配列とそのキーに関して非常に奇妙な動作に遭遇しました。この PHP 配列の作成を考えてみましょう。
どういうわけか、配列キーの値がまったく異なる負の数に変更されました。これにより、まだ決定的ではないさらなる調査が行われました。
以下の例では、数値範囲 2250572300 と 2250572500 の間でループします。時間がないので、この現象が発生し始める番号を特定できませんでした。これは、大きな範囲の数値をループするメモリが不足しているためです。2100000000 から 4300000000 の間のどこかにあると思います。
私の質問は次のとおりです。これがどのように、なぜ起こっているのか、そして問題を解決するために現在行われていることはありますか?
基本的に、これは PHP 内の主要な設計上の欠陥であり、配列内の数値 (例: サプライヤー、請求書、アイテム番号など) を扱う場合、PHP が役に立たなくなる可能性があります。
ありがとう
php - カウントに達したらキーをリセット
そのため、配列から一度に 4 つのキーだけを取得し、4 番目のキーに到達した後にキー カウントを 0 にリセットしようとしています (配列は 0 から始まるため、実際にはキー #3)。次に例を示します。
unset($key['0'])、unset($ket['1']) などを使用してみましたが、うまくいきませんでした。array_shift を使用してみましたが、うまくいかないようです。4カウント後にキーパターンをリセットしたい。その理由は、ループされた 4 番目のキーで、「ブロック」(ブロックには 4 つのキーが含まれる) を取得する挿入を実行する必要があるためです。次のようなものです。
4回目のカウント後にキーをリセットするのに苦労しています。誰かが私が間違っていることや欠けていることについての指針を提供できますか? ありがとう