-2

我有这个 PHP foreach 循环:

foreach($emails_list as $email)

但我想做类似的事情

foreach($emails_list as $email and $forename_list as $forename)

我在 foreach 循环上方的代码是:

$sql2="SELECT * from contacts where company_sequence = '".$customersequence."' and contactstatus = '' ";
            $rs2=mysql_query($sql2,$conn) or die(mysql_error());
            while($result2=mysql_fetch_array($rs2))
            {
                $emails_list[] = $result2["email"];
            }

si 我也希望能够包含$result["forename"];在循环中

上述工作会产生2个循环吗?

4

3 回答 3

0

不确定是否理解,但尝试使用for

$emails_list = array("01@gmail.com", "02@gmail.com", "03@gmail.com", "04@gmail.com");
$forename_list = ("01 something", "02 something", "03 something", "04 something");

if($emails_list == $forename_list){
  $count = count($emails_list); 

  for($i=0;$i<$count;$i++){
    echo 'Email: '.$emails_list[$i].', Name: '.$forename_list[$i];
  }
} else { echo 'Troubles'; }
于 2013-08-23T08:19:19.503 回答
0

没有办法在一个声明中在 foreach 中做到这一点

为此使用for循环

for ($i=0;$i<=count($emails_list); $i++) {
 echo $emails_list[$i];
 echo $forename_list[$i];
}
于 2013-08-23T08:19:40.407 回答
0

列出的所有带有基本 for 循环的示例都适用于数值数组,但是关联数组呢?最好的方法是这样的:

$arr_1 = array( 'foo'=>'bar', 'fizz'=>'bang' );
$arr_2 = array( 'hello'=>1, 2=>'world' );

$array_size = count( $arr_1 ); // NOTE: This assumes the arrays are of the same size.

// Reset the internal array pointers
reset( $arr_1 );
reset( $arr_2 );

for ($i = 0; $i < $array_size; $i++ ) {
    $first_array_element = current( $arr_1 );
    $second_array_element = current( $arr_2 );

    // code here

    next( $arr_1 );
    next( $arr_2 );
}

这将处理关联数组和数值数组。

于 2013-08-23T08:29:51.963 回答