我用mysqli->fetch_object()
在PHP中检索数据。如何获取第一个项并将其从对象中删除,就像array_shift
对数组所做的那样?如何在stdClass
上模拟array_pop
?
类似于:
# $object contains 4 items
$first=$object->shift();
$last=$object->pop();
# $object contains 2 items
最好不需要其他库,也不需要对象和数组之间的转换。
这将使您从对象属性列表中获得第一个密钥
https://www.php.net/manual/en/function.get-object-vars.php
$object = new stdClass();
$object->aaa = 'AAA';
$object->bbb = 'BBB';
$object->ccc = 'CCC';
if( empty( $vars = get_object_vars( $object ) ) === false )
{
$firstKey = current( array_keys( $vars ) );
$get = $object->$firstKey; // To get
unset( $object->$firstKey ); // To remove
var_dump( $get );
}
var_dump( $object );
https://3v4l.org/BmpJ6
string(3) "AAA"
object(stdClass)#1 (2) {
["bbb"]=>
string(3) "BBB"
["ccc"]=>
string(3) "CCC"
}
在上面的代码中,我们使用了一组密钥current( array_keys( $vars ) )
,如果你想要第一个或最后一个密钥,你可以用end
替换current
,同样你也可以使用array_shift
或array_pop