正在为循环内部生成数组



我有以下两个变量:

$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); 

你能告诉我如何解决这个问题吗?

您可以循环浏览每个联系人号码,并附加如下消息:

$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',
  ),
)

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

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

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

请参阅http://php.net/manual/en/language.types.array.php#~方括号+语法

$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);

以上将导致

阵列(大小=2(

0=>

array (size=2)
  0 => string '0123456' (length=7)
  1 => string 'My Text' (length=7)

1=>

array (size=2)
  1 => string '65321' (length=5)
  2 => string 'My Text' (length=7)

拧坏我的网络连接,已经有人接了。。

相关内容

  • 没有找到相关文章