0

次のコードを使用して、いくつかの値の配列を取得しています。

<?php

$sms = array();
foreach($contact_number as $value) {    

    $sms[] = array($value, $message);       

}   

 var_dump($sms);    

私が今やろうとしているのは、上記の配列の最初の 3 つの要素に変数$abc = "From Charlie Sheen";を含めることです$message。これにより、最初の 3 つのメッセージが表示されたときに、元のメッセージの最後に「From Charlie Sheen」と表示されます。

この問題を解決する方法を教えてください (上記の配列に変更を加える必要がない方がよいでしょう。この問題を解決するために新しいコード行を追加したいと考えています)。

の出力var_dump($sms);は次のとおりです。

array(2) {
    [0]=> array(2) {
        [0]=> string(3) "123"
        [1]=> string(15) "This is Message"
    }
    [1]=> array(2) {
        [0]=> string(3) "456"
        [1]=> string(15) "This is Message"
    }
}   
4

3 に答える 3

1
$sms = array();
$toAdd = 3;
foreach($contact_number as $value) {
    if($toAdd > 0) {
        $sms[] = array($value, $message . 'charlie bla bla');       
       --$toAdd;
    } else {
        $sms[] = array($value, $message);
    }
}

または短い:

$sms = array();
for($toAdd = 3, $i = 0, $l = count($contact_number); $i < $l; --$toAdd, ++$i)
    $sms[] = array($value, $toAdd > 0 ? $message . 'charlie bla bla' : $message);
于 2013-04-12T19:07:13.440 に答える
0

カウンターを追加することにより、配列の作成中にそれを行うことができます

<?php

  $sms = array();
  $counter = 0;
  foreach($contact_number as $value) {    
     if($counter < 3) { $message .= " From Charlie Sheen"; }

     $sms[] = array($value, $message);       

     $counter++;
  }   

  var_dump($sms);    
于 2013-04-12T19:07:18.790 に答える