【问题标题】:Retrieve single data from an array从数组中检索单个数据
【发布时间】:2021-07-21 11:46:20
【问题描述】:

嗨,我是 php 的新手,我试图从一列记录中显示单个数据。我在表上找不到任何可以帮助我使用 get_row 方法提取数据的 id/key, 相反,我使用 get_results 来显示该列的所有记录,然后根据他们的索引号显示它。问题是它只显示单词“Array”我试图显示索引号 4 但我只得到错误。

$meta_value = $wpdb->get_results( $wpdb->prepare("SELECT meta_value FROM  wp_gf_entry_meta WHERE entry_id=%d", $entry_id));         
foreach($meta_value as $data){
    $i++;
    if($data[$i]==4){
        echo $data['metavalue'];
    }
 }

这是数组的架构。

169 

数组 (

[0] => stdClass Object
    (
        [meta_value] => Patrick
    )

[1] => stdClass Object
    (
        [meta_value] => Mantin
    )

[2] => stdClass Object
    (
        [meta_value] => 069434
    )

[3] => stdClass Object
    (
        [meta_value] => Teacher
    )

[4] => stdClass Object
    (
        [meta_value] => CW Jefferys CI
    )

[5] => stdClass Object
    (
        [meta_value] => 9
    )

[6] => stdClass Object
    (
        [meta_value] => a:1:{s:28:"gravityformsuserregistration";a:1:{i:0;s:1:"1";}}
    )

)

非常感谢您,上帝保佑!

【问题讨论】:

  • 如果您只想要一个值,是否可以在 SQL 中添加一些东西来限制检索到的数据?

标签: php mysql arrays wordpress foreach


【解决方案1】:

您以OBJECT 的身份获得价值,并且以ARRAY 的身份访问。您可以使用ARRAY_A 获得ARRAY 的结果。试试下面的代码。

还有键是meta_value,您以metavalue 访问。

$meta_value = $wpdb->get_results( $wpdb->prepare("SELECT meta_value FROM  wp_gf_entry_meta WHERE entry_id=%d", $entry_id),ARRAY_A);         
foreach( $meta_value as $key => $data ){
    if( $key == 4 ){
        echo $data['meta_value'];
    }
}

【讨论】:

  • 非常感谢!有用!!!我也尝试过,但没有意识到 ARRAY-A。上帝保佑!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多