已有40人关注
查找数组元素,第一个值总是取不到
发表在PHP图书答疑 2017-12-18 悬赏:10 学分 《零基础学PHP》第6 章 面向对象 124页-124页
是否精华
版块置顶:

题目是这样的:创建一个商品类Goods,声明一个成员变量$ids(商品id数组),然后定义一个成员方法searchGoods(),用于查找某个商品id是否存在于商品数组$id中

我写出的代码如下:

class Goods{
   public $ids = array("草莓","菠萝","樱桃","西瓜","葡萄");
   public $id;
   public function searchGoods($id){
       $this -> id = $id;
       $ids = $this -> ids;
       $search = array_search($id,$ids);
       if ($search){
           echo "存在此商品";
       }else{
           echo "查找不到此商品";
       }
   }
}
$appale = new Goods;
$appale -> searchGoods("草莓");

查找后面几个字符串都能得到存在,但是放在第一个位置的总是查找不到,光盘被我搞坏了看不成参考答案,请老师帮我看一下哪里有问题,面向对象这一章感觉挺难看懂的。

分享到:
精彩评论 2
andy
学分:2118 LV10
TA的每日心情
继续努力
2017-02-06 23:42:34
2017-12-19
沙发

读者你好:

    array_search()这个函数返回第一个匹配的键,因为array("草莓","菠萝","樱桃","西瓜","葡萄")默认的键依次为0,1,2,3,4。 而$appale -> searchGoods("草莓")的结果为0,所以if(0) 为false,自然会输出 "查找不到此商品";

你可以这样判断:

if($array !== false){

echo "存在此商品";

}else{

echo "查找不到此商品";

}



妖刀-鬼_1513569984
学分:23 LV2
2017-12-25
板凳

andy 发表于2017-12-19 11:24

读者你好:

    array_search()这个函数返回第一个匹配的键,因为array("草莓","菠萝","樱桃","西瓜","葡萄")默认的键依次为0,1,2,3,4。 而$appale -> searchGoods("草莓")的结果为0,所以if(0) 为false,自然会输出 "查找不到此商品";

你可以这样判断:

if($array !== false){

echo "存在此商品";

}else{

echo "查找不到此商品";

}



修正过来了,谢谢老师

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照