問題タブ [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 - キーを変数として渡す場合、キーにハイフン/ダッシュを含む $_POST 変数にアクセスできないのはなぜですか?
$_POST
設定されているかどうかにかかわらず、変数を返すクラス用の小さな静的メソッドを作成しましたNULL
。HTML フォームの入力要素には、'customer-name' などのハイフンを含む名前があります。
だから、このようにアクセスできたと思います$var = $_POST['customer-name']
。しかし、私の方法では:
私はできません。echo
そして、メソッドにいくつかのステートメントを追加すると、奇妙な動作に気付きます。ハイフンの後にすべてが切り捨てられるため、エラーが発生しました。
これは私がそれをテストする方法です:
そして、これは私のテストからの出力です:
EDIT 1 - HTMLフォームを求められました:
EDIT 2 - 5.2、5.3、5.4、5.5 php バージョンのphptester.netでテスト済み。同じエラーが発生します。
EDIT 3 - 次のスクリプトをテストしました。文字列をキーとして渡すと、スーパーグローバル $_POST/an 配列の要素を取得します。ただし、文字列を指す変数を渡すと、要素にアクセスできません
これはPHPのバグでしょうか?
php - 同じ数値配列キーが存在する場合は、インクリメントを 1 つ追加します
次の配列があり、キー値に基づいてこの配列をソートする必要があります。すべての数字キーが異なる場合、コードを書いて完璧な結果を得ました。
これが私のコードです
$cat->getTabOrder() は、バックエンドから取得しているソート順であり、結果は完璧です
コードは配列を完全に並べ替えていますが、同じキーが存在する場合、つまり誰かが $cat->getTabOrder() を追加した場合、2 つの値に対して 2 と 2 を追加すると、1 つのキーが削除されます。このように1つの増分を追加する必要があります
php - PHPで配列のキーとして電子メールIDを使用しても安全ですか
私はphpで以下をやろうとしています
私は、phpがキーとして数値または有効な文字列を受け入れることを読みました。
上記のように配列のキーとして電子メールIDを使用しても安全ですか? 安全とは、これを使用してコーディングするときに、これがあらゆる種類のエラー、例外、または問題を引き起こす可能性があることを意味します
注: この配列には数 100 個のアイテムが含まれますが、これを行う際に注意する必要があることはありますか?
私にお知らせください
php - フォーム送信後の配列キー文字としてドット (.) はサポートされていません
私は次のような配列を持っています:
これを印刷すると、単に表示されます
しかし、ループを使用してチェックボックスの名前と値にキーと値を使用すると、次のようになります。
送信ボタンを押すと、結果は次のように表示されます。
出力配列を確認すると、キーが変更され、ドット (.) が_に置き換えられます。
なんでこうなる??
php - 一部の配列要素にキーがない場合のphpスイッチ($array_key)
私は配列を持っています。
$arrayVar = array(8, 10, 'u'=>24, 'm'=>45, 54, 45);
ラベルが $curK の値と一致する場合を除いて、配列キーが指定されていないすべての $curK に対して最初のケースのステートメントが実行されるのはなぜですか?
$curK の空の値をチェックして問題を解決しようとしました
...
これは私が得た結果です
配列 ( [a] => 8400 [u] => 1100 [0] => 1300 [1] => 1400 [2] => 1 )
a : a の場合
u u : u の場合
0 の場合 : 0
1
2
この問題は、php に割り当てられたキー 0 で発生しました。