php是弱类型解释性语言
不定义在调用的时候会根据第一次填充的值创建对应的类型,也就是说你要一个数组,不调用也可以,在循环内部第一次往数组内部填充数据的时候会自动创建这个数组的,当然了,为了效率最好是先初始化数组,因为你初始化PHP直接调用就可以了但是你不定义的话PHP会先搜索是不是有这个变量或数组,如果没有的话才去创建,在创建的时候还会校验填充数据的格式,创建对应的变量,所以能初始化定义就先定义好
$x='';
$demo_arr= array('1','2','3','4');foreach($demo_arr as $val){ // 未定义是会报一个notice,并却不进入循环$x.=$val; // 未定义是会报一个notice
}
PS:说是,notice输出也是一种系统资源。说理理论上应尽量消除notice报错。
PHP,是可以不定义,然后直接使用的。没有那么严谨的。