php foreach中赋值 循环完成后 这个在数组内新赋值的变量就消失了么?
PHPz
PHPz 2017-04-10 16:16:29
[PHP讨论组]

代码

if(count($res) > 0){
    foreach( $res as $value){
        $timestamp = strtotime($str_replace('/','-',$value['time']));
        $data[] = [ $timestamp , $value['cumulativeNet']];
    }
}

循环结束后打印 $data 显示 Undefined variable: data

求问如何在能使用这个 $data ?

PHPz
PHPz

学习是最好的投资!

全部回复(5)
大家讲道理

注意看提示:未定义的变量$data

你的$res有值吗?

大家讲道理

直接用 $data[] 这种方式是不严禁的,使用前应该先定义空数组:

if(count($res) > 0){
    $data = array();
    foreach( $res as $value){
        $timestamp = strtotime($str_replace('/','-',$value['time']));
        $data[] = [ $timestamp , $value['cumulativeNet']];
    }
}
PHP中文网

你的 $res 不是数组,应该是个字符串。
var_dump($res) 试试

大家讲道理

循环前得先定义变量,而不是放在循环里面

高洛峰

$timestamp = strtotime($str_replace('/','-',$value['time'])); 里的$str_replace???
写错了吧?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号