【问题标题】:PHP - Extract value from query arrayPHP - 从查询数组中提取值
【发布时间】:2015-01-26 11:47:27
【问题描述】:

是否必须使用循环从查询数组中提取值。

查询:

$fetchRegion = Singlequery("SELECT region FROM regions WHERE id = :id LIMIT 1",
                           array('id' => $_GET['region']),
                           $conn);

这是我的数组:

array(1) {
  [0]=>
  array(1) {
    ["region"]=>
    string(10) "South West"
  }
}

我想获取该值并在另一个查询中使用它,我不知道是否必须使用 foreach 来获取在下一个查询中使用的值。我看到的其他 stackoverflow 问题使用了循环

【问题讨论】:

  • 与其获取该值并在另一个查询中使用它,不如考虑使用带有 JOIN 的单个查询:您要在哪个查询中使用它?

标签: php mysql arrays pdo


【解决方案1】:

如果我正确理解了你的问题并且你想获得价值,那么像这样访问它:

$fetchRegion[0]['region'];

您不需要使用 foreach 或任何其他循环,因为它最多会返回一个元素,因为您在查询中使用了 LIMIT 1。

【讨论】:

  • 我可以使用它来获取一个字符串并将其存储在另一个变量中,例如 $region = 'string from array';
  • 是的,你可以。 $region = $fetchRegion[0]['region'];
【解决方案2】:

使用循环:-

foreach($fetchRegion as $v) {
  $var = $v["region"];
}

或者你直接得到:-

echo $fetchRegion[0]["region"];

【讨论】:

    【解决方案3】:

    不,不需要对该查询使用循环,因为它不会返回多于一行。相反,只需检查您是否返回了一行(它可能不返回任何结果),然后使用它。

    【讨论】:

      【解决方案4】:

      如果您确定您的结果会是这样,reset(reset($fetchRegion)) 将为您提供值“西南”。如果你没有得到确切的格式,它会表现得很糟糕 - 例如,如果查询没有返回一行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-24
        • 2020-10-06
        • 2022-11-18
        • 2020-11-04
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        相关资源
        最近更新 更多