在for循环内生成数组

时间:2013-04-09 01:14:11

标签: php multidimensional-array

我有以下两个变量:

$contact_number=array('0123456','65321');
$msg="My Text" ;

我正在尝试使用上面的变量

创建一个如下的数组
$myarray =array(
       array("0" => "0123456", "1" => "My Text"),
       array("0" => "65321", "1" => "My Text")
 );

我尝试过以下代码,但它并没有创建上面的确切数组:

for($i=0; $i < count($contact_number); $i++ ) {
      $myarray[] =array(array("0" =>$contact_number[$i], "1" =>$msg),);
  }

 var_dump($myarray); 

请告诉我如何解决这个问题

3 个答案:

答案 0 :(得分:1)

您只需要附加新的数组值:

  $myarray[] = array("0" => $contact_number[$i], "1" => $msg);

双重嵌套array( array(0=>.., 1=>..) )是多余的,因为使用$array[] =进行分配已经创建了一个新的子数组。

请参阅http://php.net/manual/en/language.types.array.php#~square+bracket+syntax

答案 1 :(得分:1)

您可以遍历每个联系号码,并附加如下消息:

$contact = array('0123456','65321');
$message = "My Text" ;

$array = array();

foreach($contact as $value) {
    $array[] = array($value, $message);
}

var_export($array);

产生这个:

array (
  0 => 
  array (
    0 => '0123456',
    1 => 'My Text',
  ),
  1 => 
  array (
    0 => '65321',
    1 => 'My Text',
  ),
)

答案 2 :(得分:0)

$contact_number=array('0123456','65321');
$msg="My Text" ;

foreach($contact_number as $key => $number) {
    $my_array[] = array($key => $number, $key+1 => $msg);
}
var_dump($my_array);

以上结果

  

array(size = 2)

     

0 =&gt;

array (size=2)

  0 => string '0123456' (length=7)

  1 => string 'My Text' (length=7)
     

1 =&gt;

array (size=2)

  1 => string '65321' (length=5)

  2 => string 'My Text' (length=7)

搞砸了我的网络连接,有人已经回答了..