关于PHP,ARRAY及其过滤

时间:2014-07-12 08:43:54

标签: php arrays

我有一个像这样的数组

$hello=array(
array 0 (
"USER"=>123,
"uslfd"="kdsf";
),
array 1(
"USER"=>124
),
array 2(
"USER"=>127
)
)

现在我想要显示来自$ hello的用户并存储在varible $ x中,如此

$x="123,124,127"

有人可以告诉我这样做的方法吗?

我试过这样的

$x="";
for($i=0;$i<count($hello);$i++){
$x.=$hello["$i"]["USER"].",";
}
var_dump($x);

有没有更好的方式? 此致

3 个答案:

答案 0 :(得分:1)

    $hello=array(
        array(
    "USER"=>123
    ),
    array(
    "USER"=>124
    ),
    array(
    "USER"=>127
    )
    );

    $tmp = array_map(function($arr){
        return $arr['USER'];
    }, $hello);
    echo implode(",", $tmp);

答案 1 :(得分:1)

<?php

$hello = array(
    array (
        "USER" => 123
    ),
    array (
        "USER" => 124
    ),
    array (
        "USER" => 127
    )
);

$x = array();

foreach ($hello as $y)
{
    // show the user.
    echo '<p>' . $y['USER'] . '</p>';
    // store the user.
    array_push($x, $y['USER']);
}

// reduce the new array to a string.
$x = implode(',', $x);

// show the string value of $x.
echo '<p>' . $x . '</p>';

?>

答案 2 :(得分:1)

如果array_column不可用,您可以尝试:

$x = array_reduce($hello, function($t, $v) { return $t . ',' . $v['USER']; }, '');
// remove first comma
$x = substr($r, 1);