如何从组合阵列中获得特定的元素?

时间:2016-10-20 18:21:16

标签: php

我有两个数组,然后我将它们与array_combine()方法结合起来,现在我想在这种情况下得到一个新数组的elemon:Ben = 37

<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
$a = $c[1];
?>

但输出错误Notice: Undefined offset: 1 我弄错了吗?是的,但在哪里?

3 个答案:

答案 0 :(得分:2)

combine之后你得到一个关联数组,其中第二个元素不是“1”而是“Ben”:

<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
//$a = $c[1];
$a = $c["Ben"];  // KEY="Ben", VALUE="37".
echo $a;
?>

编辑#1:获取关键字“Ben”及其值:

<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);

$keys = array_keys( $c );
echo $keys[ 1 ] .    // "Ben"
     "=" .
     $c[ $keys[1] ]; // "37".
?>

答案 1 :(得分:2)

array_combine使用第一个参数作为键,第二个参数作为值。所以结果如下:

Array ( 
    [Peter] => 35 
    [Ben] => 37 
    [Joe] => 43 
)

因此,您可以使用名称作为密钥访问年龄。

$a = $c['Peter']; // 35

答案 2 :(得分:1)

<?php
   $fname=array("Peter","Ben","Joe");
   $age=array("35","37","43");
   $c=array_combine($fname,$age);
   $a = $c['Ben'];

?>