gpt4 book ai didi

php - array_column 从包含数据的数组返回 0 个结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:35 24 4
gpt4 key购买 nike

我有一些数据进入一个包含多行和多列的页面。我特别希望将 1 整列放入另一个数组中。

我正在使用 codeigniter 和 php。我页面上的 var dump 显示其原始数组中的数据正常到达。但是,一旦我开始尝试在页面上创建第二个数组,该数组就会返回 0 个结果。

这是原始数组的 var_dump。为了您的理智,我只发布第一个序列。

array(7) { [0]=> object(stdClass)#19 (7) { ["id"]=> string(1) "1"
["serial_number"]=> string(9) "battery 1" ["battery_type"]=> string(4) "Lipo" ["cell_count"]=> string(1) "4" ["capacity"]=> string(4) "16.8" ["date_submitted"]=> string(19) "0000-00-00 00:00:00" ["user_id_submitted"]=> string(0) "" } [1]=>

这是array_column函数

<?php 
$serialnumber = array_column($batteryDb, "serial_number");
var_dump($serialnumber);
?>

结果如下:

array(0) { }

最佳答案

好的,var_dump($batteryDb); 显示了这个:

array(7) { 
[0] => object(stdClass)#19 (7) { <----- object !!
["id"]=> string(1) "1"
["serial_number"]=> string(9) "battery 1"
["battery_type"]=> string(4) "Lipo"
["cell_count"]=> string(1) "4"
["capacity"]=> string(4) "16.8"
["date_submitted"]=> string(19) "0000-00-00 00:00:00"
["user_id_submitted"]=> string(0) "" }
[1] =>

问题是此数组结构不适用于 PHP5 上的 array_column

您有一个对象数组,但该函数需要一个数组数组。

array_column 上的对象数组仅受 PHP7 支持。引用:https://github.com/php/php-src/blob/PHP-7.0.0/UPGRADING#L626


基本的解决方案是将您的对象变成数组:

array(7) { 
[0] => array (7) { <----- array !!
["id"]=> string(1) "1"

您可以使用:

  • $array = (array) $object;
  • $array = get_object_vars($object);
  • 如果是多维的:$array = json_decode(json_encode($object), true);

试一试:

$batteryDbArray = json_decode(json_encode($batteryDb), true);

$serial_numbers = array_column($batteryDbArray, 'serial_number');
var_dump($serial_numbers);

关于php - array_column 从包含数据的数组返回 0 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38251750/

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