【问题标题】:foreach without doing a loop in PHP在 PHP 中不做循环的 foreach
【发布时间】:2013-01-26 23:33:53
【问题描述】:

例如,如何在不执行循环的情况下执行foreach 函数

foreach($result['orders'] as $order) {

但我不想做一个 foreach 我想要的东西

$result['orders'] == $order;

或者类似的东西,而不是在循环中执行它,因为$result['orders'] 无论如何只返回 1 个结果,所以我看不出在循环中执行它的意义。

谢谢

【问题讨论】:

  • 你能解释一下你想要完成什么吗?
  • 如果只有一个,直接访问$result['orders'][0]
  • 我正在尝试从存储在 $result['orders'] 中的 API 获取信息,因此您可以说它是一个数组,但我不想为了能够获取内容
  • @CurtisCrewe 有很多方法可以获取里面的数据,但是如果没有看到数组的结构,我们不能说什么是最好的方法。

标签: php foreach


【解决方案1】:

您可以使用任何从数组中获取元素的数组函数来获取数组中的第一个(显然是唯一的)元素,例如array_pop()array_shift():

$order = array_shift( $result['orders']);

list():

list( $order) = $result['orders'];

或者,如果您知道它是数字索引的,请直接访问它:

$order = $results['orders'][0];

【讨论】:

  • 非常感谢 nick,感谢您花时间寻找 3 种不同的方法。
  • @Curtis - 实际上还有很多,我链接了一个类似的问题,你会从 PHP 中有多少种可能的方式笑出来(我知道我做到了......)
【解决方案2】:

您可能只是在寻找这个吗?

$result['orders'] = $result['orders'][0];

【讨论】:

    【解决方案3】:

    在第二个代码示例中,您使用的是比较运算符 (==) 而不是赋值运算符 (=)。如果你只是想设置一个变量等于数组中的一个位置,你可以使用:

    $order = $results['orders'];

    我不确定这是否是你想要完成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-26
      • 2012-07-19
      • 2020-10-26
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 2015-12-10
      相关资源
      最近更新 更多