【问题标题】:How to get value from var_dump as a single variable?如何从 var_dump 中获取值作为单个变量?
【发布时间】:2013-12-03 07:22:30
【问题描述】:

我在 yii 框架中有一个变量$var->VerseTranslations。 当我将它保存在 var_dump 中时。

点赞var_dump($var->VerseTranslations);

它给出了一个数组,如下所示。

array (size=3)
  0 => 
    object(VerseTranslations)[96]
      private '_new' (CActiveRecord) => boolean false
      private '_attributes' (CActiveRecord) => 
        array (size=5)
          'id' => string '3' (length=1)
          'verse_id' => string '1' (length=1)
          'language_id' => string '2' (length=1)
          'translation_text' => string ' "In the name of ALLAH, most Gracious, most Compassionate". ' (length=60)
          'scholar_id' => string '1' (length=1)
  1 => 
    object(VerseTranslations)[97]
      private '_new' (CActiveRecord) => boolean false
      private '_attributes' (CActiveRecord) => 
        array (size=5)
          'id' => string '4' (length=1)
          'verse_id' => string '1' (length=1)
          'language_id' => string '1' (length=1)
          'translation_text' => string 'شروع الله کا نام لے کر جو بڑا مہربان نہایت رحم والا ہے' (length=96)
          'scholar_id' => string '1' (length=1)
  2 => 
    object(VerseTranslations)[98]
      private '_new' (CActiveRecord) => boolean false
      private '_attributes' (CActiveRecord) => 
        array (size=5)
          'id' => string '5' (length=1)
          'verse_id' => string '1' (length=1)
          'language_id' => string '5' (length=1)
          'translation_text' => string 'En el nombre de Alá, el Compasivo, el Misericordioso' (length=53)
          'scholar_id' => string '1' (length=1)

现在我想得到第一个 translation_text 是在一个变量中。 像$var->VerseTranslations->translation_text 一样,但它给出了错误,我可以使用 foreach 循环获取所有单个变量,但我不想使用,我只需要一个变量,所以你能帮我,如何从上面的数组中获取单个变量.

谢谢。

【问题讨论】:

  • 你不应该尝试“从var_dump()获取你的价值”。为此使用原始变量。
  • 是对象和数组的组合
  • mydata 是对象数组。所以你必须使用循环。或固定值$var->mydata[0]->translation_text
  • 类似$var->mydata[0]->_attributes["translation_text"] 但您将无法访问_attributes,因为它是私有的。也许您的 VerseTranslation 对象有一个用于翻译文本的访问器方法
  • 没有得到结果,报错。

标签: php arrays yii var-dump


【解决方案1】:

对于单个变量,您可以在下面使用它。

$errors = array_filter($data->verseTranslations);
if(!empty($errors)) {
    echo $data->verseTranslations[0]['translation_text'];
}

你也可以写这个,但我也在使用 foreach 循环。

<?php $mydat = array();
 $errors = array_filter($data->verseTranslations);
 if(!empty($errors)) {
   foreach($data->verseTranslations as $var) 
     { $mydat[] = $var['translation_text'];  }
   echo $mydat[0];
}
?>

希望对你有帮助

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-18
      • 2016-02-09
      • 2012-09-29
      • 2019-10-31
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多