gpt4 book ai didi

php - 在 PHP 5.3 中,如何在没有严格警告的情况下在一行中获取单个元素数组中的值

转载 作者:行者123 更新时间:2023-12-03 23:05:47 24 4
gpt4 key购买 nike

给定一个返回数组的函数;

function return_me_an_array() {
return array('my_value');
}

我如何调用它并以优雅的方式从数组中获取单个值(无论是第一个、最后一个还是唯一的值)(是的,我知道这是 PHP!)

如果我这样做

$var = reset(return_me_an_array());

我收到以下 PHP 严格错误:

Strict warning: Only variables should be passed by reference

同样,它们中的每一个都给出相同的警告。

$var = array_shift(return_me_an_array());
$var = array_pop(return_me_an_array());

我知道我可以做到:

$temp = return_me_an_array();
$var = $reset($temp);

但是不得不在两个语句上执行它是非常可怕的。

有什么好的方法吗?

从表面上看,这类似于 How to return an array and get the first element of it in one line in PHP?但是接受的答案使用 reset - 所以我认为这是不同的;我要么在寻找不给出严格警告的解决方案,要么被告知我想要的是不可能的。

我也知道 PHP 5.4 引入了数组取消引用(例如 return_me_an_array()[0]),但可惜我目前使用的是 5.3。

关闭后编辑:这怎么太本地化了?这是一个关于如何编写优雅的 PHP 的一般性问题。或者是因为很少有人关心优雅的 PHP,这是“一个非常狭窄的情况,并不普遍适用于互联网的全局受众”?

最佳答案

使用这个:

$var = current(return_me_an_array());

演示:http://3v4l.org/Ruj5e

手册:http://php.net/manual/en/function.current.php

关于php - 在 PHP 5.3 中,如何在没有严格警告的情况下在一行中获取单个元素数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13084238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com