2017-04-19 89 views
0

我想从这个数组呼应价值的具体项目,所以它会说“真”回波阵列

::object(stdClass)#25 (2) { ["Name"]=> string(3) "DPV" ["Value"]=> string(4) "true" } 

我怎样才能做到这一点在PHP?

+4

这不是一个数组,可能是你的问题。 – AbraCadaver

+0

是的@AbraCdaver,它似乎来自var_dump()的响应;的具体变量。请添加您的实际阵列。 –

+0

http://php.net/manual/en/language.oop5.properties.php –

回答

0

假设Value的对象属性是公共的(其是或它不会是输出),则可以使用PHP的对象操作者->

如:

echo $obj->Value; 

在它不是公开的情况下,你会想使用get menthod,像这样

class obj{ 
     protected $Value = true; 

     public function getValue(){ 
      return $this->Value; 
     } 
} 

$obj = new obj(); 
echo $obj->getValue(); 

正如您可以看到以相同的基本方式(使用->)访问对象属性。这与你如何访问数组中的元素不同。你可以在一个对象上实现ArrayAccess,它允许你像使用数组一样使用它,但这是另一个时间的帖子。

http://php.net/manual/en/class.arrayaccess.php

0

只需

<?php 

echo $objectVarName->Value; 

注意$objectVarName不是array,它是一个object

A作为以下在PHP阵列的非常常见的例子:

$array = array(
    "foo" => "bar", 
    "bar" => "foo", 
); 
+1

虽然这段代码可以解决这个问题,[包括解释](// meta.stackexchange.com/questions/114762/explaining-完全基于代码的答案)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 –

+0

如果数组中有4个项目,并且所有4个项目都有值,那么该怎么办? – koepitz

+0

第一:这不是一个数组,这是一个对象。第二:然后对于每个项目/参数,您必须'echo $ objectVarName-> parameterName;' 或者如果这只是为了调试目的,您可以'var_dump($ objectVarName);'或'print_r $ objectVarName);' – Hossam

0

下面是简单的解决方案,可能会有所帮助。

<?php 
    //Let suppose you have this array 
    $arr = array('id'=>1,'name'=>'alax','status'=>'true'); 

    //Check out array (Basically return array with key and value). 
    print_r($arr); 

    // Get value from the particular index 
    echo "<br/>Your value is:".$arr['status']; 
?>