【问题标题】:php array count returns 1 [duplicate]php数组计数返回1 [重复]
【发布时间】:2019-10-22 10:29:01
【问题描述】:

我有这个数据,在直接输入测试时它可以工作,并且 file_put_contents 确认数据完全相同,但是当我尝试通过站点获取值时它只给出 1 我试图声明数组,但每次它只给出 1

此数组计数为 6

$total_id_counttt = count(array(13068,13067,13066,13065,13064,13063));
echo $total_id_counttt;

但是当我在这里使用它时它返回 1

$str_finalppo ='13068,13067,13066,13065,13064,13063';    
$schools_array = array($str_finalppo);
$total_id_counttt = count($schools_array);

它返回 1 谁能告诉我在哪里做错了

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    首先,将字符串转换为数组。看看这段代码,你可能会明白。

    使用explode函数将字符串转换为数组。

    $str_finalppo ='13068,13067,13066,13065,13064,13063';
    $schools_array = explode(',',$str_finalppo);
    $total_id_counttt = count($schools_array);
    

    查看更多关于explode的信息

    【讨论】:

    • 注意。做: $schools_array = ($str_finalppo != '') ?爆炸(“,”,$str_finalppo):数组();因为如果字符串为空,count 返回 1
    【解决方案2】:

    在 PHP 中,quotes('') 中的值被视为字符串。 因此,当您尝试计算时,它总是返回 1。

    尝试使用explode() 将字符串转换为数组。

    例如:

    $str_finalppo ='13068,13067,13066,13065,13064,13063';
    $schools_array = explode(',',$str_finalppo);
    echo $total_id_counttt = count($schools_array);
    

    这会给你正确的答案。 如果您仍然感到困惑,请尝试在使用 dd($schools_array); 之前打印 @schools_array 它肯定会消除你的困惑。

    【讨论】:

      猜你喜欢
      • 2015-12-07
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 2015-06-28
      • 2011-01-29
      • 1970-01-01
      相关资源
      最近更新 更多