2017-10-09 4 views
-1

私は "最適化"したい配列を持っていますが、手動でpg1-pg11を追加する代わりに "for"を使いたいと思います。

それをcorectlyにする方法は?

$query = array(
    'e1' => $_POST['npole3-1'], 
    'e2' => $_POST['npole3-2'], 
    'e3' => $_POST['npole3-3'], 
    'e4' => $_POST['npole3-4'], 
    'e5' => $_POST['npole3-5'], 
    'e6' => $_POST['npole3-6'], 
    'e7' => $_POST['npole3-7'], 
    'e8' => $_POST['npole3-8'], 
    'e9' => $_POST['npole3-9'], 
    'e10' => $_POST['npole3-10'], 
    'e11' => $_POST['npole3-11'], 
    'e12' => $_POST['npole3-12'], 
    'e13' => $_POST['npole3-13'], 
    'e14' => $_POST['npole3-14'], 
    'e15' => $_POST['npole3-15'], 
    'e16' => $_POST['npole3-16'], 
    'e17' => $_POST['npole3-17'], 
    'e18' => $_POST['npole3-18'], 
    ); 

for ($i = 1; $i <= 11; $i++) {array_push($query, ('pg1' => $_POST['pgadd-' . i]))}; 
+0

POST変数は常に 'npole3-'で始まるのでしょうか?たとえば、クエリ部分の番号を取得するために、それをいつでもトリミングできますか? – GrumpyCrouton

+1

'。私はそれだけで、定義されていない一定の通知を引き起こしたはずであり、あなたの本当のコードなら、あなたのコードが失敗した理由が最もありそうです。 –

+0

この配列にpgadd-1-pgadd-11を追加しますが、この部分は常にnpole3で始まります。質問はこの場合にcorectlyのためにどのように使用するのですか? – riten

答えて

0
$query = array(); 

for ($i = 1; $i <= 11; $i++) { 

     // if exists in post array then 
     if(isset($_POST['pgadd-' . $i])){ 

      // then add to query array 
      // array key will be like pg1, pg2, pg3 ... 
      // array value will be from your post data pgadd-1. pgadd-2 

      $query['pg'.$i] = $_POST['pgadd-' . $i]; 
     } 
} 

// to see what's there inside array 
print_r($query); 
+2

あなたは2回ダウン投票されました。もし私が推測しなければならなかったのは、コードだけの回答のように見えるかもしれないからです。しかし私は確かに分かりません。私のdownvoteではありません。私はあなたの答えが役に立つと思うので、私は – GrumpyCrouton

+3

に戻ってきます。それは私の賭けでもあります。近くの批評家がよく尋ねるように@GrumpyCrouton * "このコードは質問に答えるかもしれません。このコードは質問に答えることで長期的な価値を向上させます。」*投票の結果、投票者は投票して移動しますが、回答が改善されても取り除かないでください。 –

+1

問題を解決するコードへのリンク@AkshayHegdeを使用すると、投稿を正しく閉じることができます。我々はそれが個人的ではないことを知っており、新しいコーダーを解決策に導くべきです。コードのみの回答は、どの機能が使用されているのか、なぜそれらが使用されているのかについての基本的なガイダンスでさえも欠落する傾向があります。これは、多くの意味で、作業コードと説明付きでリンクするよりも、新しいコーダーにとって不利な点です。あなたが言ったように、*「小規模な小さな問題を理解し解決することはできませんでした」*それらに与えられたコードは説明されていないためです。 –

関連する問題