我如何只从var转储数组中获取值?

时间:2013-04-12 21:42:25

标签: php arrays var-dump

是否可以从array(1) { [0]=> string(12)}转义var_dump($variable),因为我只想显示var_dump和array string以外的值?

测试代码

 <?php
 $array = array(
 "foo" => "bar",
 "bar" => "foo",
 100   => -100,
-100  => 100,
 );
 var_dump($array);
 ?>

现在结果将是这样的

array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}

但是除了字符串(3)和数组(4)之外,我想只获取barfoo个值?

5 个答案:

答案 0 :(得分:2)

就在这里:

foreach ($array as $key => $value){
    echo $key.'=>'.$value."\n";
}

对于每个键值对,这将根据需要回显项目。

答案 1 :(得分:1)

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100
);

print_r($array);

$newArray = array_filter($array, function($v) {
    return (gettype($v) != 'string');
});

print_r($newArray);
?>

输出:

Array
(
    [foo] => bar
    [bar] => foo
    [100] => -100
    [-100] => 100
)
Array
(
    [100] => -100
    [-100] => 100
)

$newArray包含除字符串以外的所有值。 (您可以将!=更改为==以仅获取字符串值)

编辑后我想你可能想要这个(访问关联数组中的单个项目):

echo $array['bar'];
echo $array['foo'];

输出:

foo
bar

答案 2 :(得分:1)

http://php.net/manual/en/function.array-values.php

$array = array(
    "a" => "bar",
    "b" => "foo",
);


var_dump($array);
//bar
//foo

答案 3 :(得分:0)

尝试

<?php
  $array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
  );

  echo '<pre>';
  print_r($array);
  echo '</pre>';
?>

答案 4 :(得分:0)

你可以这样做:

call_user_func_array('var_dump', $array);

var_dump() 的每个值上使用$array而不是整个数组:

$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);

call_user_func_array('var_dump', $array);

echo implode(', ', $array); # for comparison

输出:

string(3) "bar"
string(3) "foo"
int(-100)
int(100)
bar, foo, -100, 100