php萌新求助

啊!大海 2020-03-27 03:11:47

class Goods{
public $ids;

public function __construct($ids){

$this->ids=$ids;
}
public function searchGoods(){
$id=array("1","2","3");
$fo=false;
foreach($id as $value ){
if ($this->ids ==$value){
$fo=true;
}
}
if($fo !=false){
echo "商品id存在。";
}else{
echo"商品不id存在。";
}

}
}

$good=new Goods("5");
echo $good->searchGoods();



想知道为什么当我把$fo与 $id放在方法外时会报错。

...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
啊!大海 2020-03-28
  • 打赏
  • 举报
回复
引用 1 楼 于小九 的回复:
报错是因为 foreach 访问的对象必须是一个数组,但是 $id 这个数组因为你放置到了函数外变成了类成员变量了,你这个函数里面是取不到值的,你需要把这个函数中调用到 $id 与 $fo 变量的地方修改为 $this -> id 与 $this -> fo
明白了,谢谢!!
于小九 2020-03-27
  • 打赏
  • 举报
回复
报错是因为 foreach 访问的对象必须是一个数组,但是 $id 这个数组因为你放置到了函数外变成了类成员变量了,你这个函数里面是取不到值的,你需要把这个函数中调用到 $id 与 $fo 变量的地方修改为 $this -> id 与 $this -> fo

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧