请帮我在PHP中使用for循环

时间:2016-07-21 05:18:59

标签: php

我想使用循环遍历我的数组,调用我的函数打印出所有这些消息。我必须以某种方式记录我的人数。 - 即时通讯使用PHP

<?php
$name_array = array('pon', 'zi', 'pol', 'et');

function name_person($name, $number) {
    echo $name . ' is person #' . $number . ' ';
}

for ($i = 0; $i <= 4; $i++) {
    $counter = 1;
    while ($counter <=4) {
        name_person( $name_array[$i], $counter);
        $counter++;
    }
}

我的输出应该是:

pon is person #1, zi is person #2, pol is person #3, et is person #4
你能帮帮我吗?

4 个答案:

答案 0 :(得分:1)

您可以使用array_walk将用户提供的函数应用于数组的每个成员。

试试这段代码。

$name_array = array('pon', 'zi', 'pol', 'et');

//remove 0 index from array (optional)
$name_array = array_filter(array_merge(array(0), $name_array));

function name_person($name, $number) {
    echo $name . ' is person #' . $number . ' ';
}
//apply a user supplied function to every member of an array
array_walk($name_array, 'name_person');

输出:

pon is person #1 zi is person #2 pol is person #3 et is person #4 

答案 1 :(得分:0)

  1. sharedPreferences.getInt("number",0); 循环中有一个嵌套的while循环。

  2. for循环应该从for0而不是<4

  3. 丢失<=4变量,只使用$counter

  4. 所以它应该是:

    $i+1

答案 2 :(得分:0)

试试这个:

<?php
$name_array = array('pon', 'zi', 'pol', 'et');

function name_person($name, $number) {
    echo $name . ' is person #' . $number . ' ';
}

for ($i = 0; $i < 4; $i++) {
    name_person( $name_array[$i], $i + 1);
}

答案 3 :(得分:0)

确切输出试试这个:

$name_array = array('pon', 'zi', 'pol', 'et');

function name_person($name, $number) {
    echo $name . ' is person #' . $number;
}

foreach($name_array as $k=>$v) {
    name_person( $v, $k+1).(($k==sizeof($name_array)-1)?'':', ');
}