【问题标题】:How can I count the values in an array?如何计算数组中的值?
【发布时间】:2015-06-15 11:43:22
【问题描述】:

我试图打印我的数组的所有值,但是我似乎无法获得数组的总数。我已经尝试过 count()、sizeOf() 和 array_count_values,但这些函数似乎都不能胜任。

$query = DB::getInstance()->query("SELECT orderStatus FROM customerOrders");                


foreach ($query->results() as $orderered) {

   $result_array = array($orderered);
 //print_r($result_array);

  $orderData = array_map(function ($object) { return $object->orderStatus; }, $result_array);

  $test = json_decode(json_encode($result_array), true);



  $ORvalue = serialize($test);


  $ORvalue2 = unserialize($ORvalue);


  $orderValueNEW = call_user_func_array('array_merge', $ORvalue2);


  print_r($orderValueNEW);//debug 


 }//close foreach loop

数组打印后的结果:

Array ( [orderStatus] => 0 ) 
Array ( [orderStatus] => 0 ) 
Array ( [orderStatus] => 0 ) 
Array ( [orderStatus] => 1 ) 
Array ( [orderStatus] => 1 ) 

执行count()和sizeOf后:

11111 

运行array_count_values后:

echo (array_count_values($orderValueNEW));
ArrayArrayArrayArrayArray 

【问题讨论】:

  • 您是否要计算数据库中的结果总数?
  • 不是所有的总和,而是数据库中有多少个。
  • count($query->results());

标签: php arrays mysqli


【解决方案1】:

count 函数肯定可以在这里工作:

$results = $query->results();

$num = count($values);

foreach($results as $ordered) { // etc. 

【讨论】:

    【解决方案2】:

    在我看来,您可能正在运行 count($orderValueNew);它每次都包含一个数组,键为 orderstatus。 orderstatus 的值是 0 还是 1 没有区别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 2019-11-09
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2020-04-05
      • 2021-08-04
      • 1970-01-01
      相关资源
      最近更新 更多