首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么从数据库中生成的数组手册和数组与strpos处理的结果不同?

为什么从数据库中生成的数组手册和数组与strpos处理的结果不同?
EN

Stack Overflow用户
提问于 2014-02-16 04:57:41
回答 1查看 63关注 0票数 0

我有这样的代码。

代码语言:javascript
复制
mysql_connect("localhost","root","");
mysql_select_db("dbmobile");
$arr=array();
$array_category=array("JAS HU","PAYUNG","SANDAL","SARUNG","SEPATU","TALI J","TIKAR"," ");
$array_produk=array();
$sql="select cgrpdesc from tm_tampung";
$hasil=mysql_query($sql);

while($data=mysql_fetch_array($hasil)){
        array_push($array_produk,$data[0]);
}

for($i=0;$i<count($array_produk);$i++){
    if($e>0){
         $e=0;
     }
     for($a=0;$a<count($array_category);$a++){

            $fa=strpos($array_produk[$i],$array_category[$a]);
            if($fa!==FALSE && $e==0){
                array_push($arr,$array_category[$a]);
                $e++;
            }
    }
}

for($i=0;$i<count($array_produk);$i++){
        if($arr[$i]==" "){
            $arr[$i]="NULL";
        }

        echo $i.".".$array_produk[$i]."=".$arr[$i];
        echo "<br>";
    }

它工作得很完美,下面是示例结果。

0.凉鞋PCU DEWASA WANITA 36-40 =凉鞋

1.凉鞋PCU DEWASA PRIA 38-44 =凉鞋

2.凉鞋PCU DEWASA PRIA 38-44 =凉鞋

3.SEPATU注射去华剂38-44 =SEPATU

4.SEPATU注射去华剂38-44 =SEPATU

5.SEPATU注射液DEWASA WANITA 36-40 =SEPATU

6.SEPATU注射去华剂38-44 =SEPATU

7.凉鞋PCU KECIL 30-33 =凉鞋

8.凉鞋PCU KECIL 30-33 =凉鞋

9.凉鞋PCU DEWASA WANITA 36-40 =凉鞋

10.凉鞋PCU DEWASA WANITA 36-40 =凉鞋

11.凉鞋PCU DEWASA WANITA 36-40 =凉鞋

12.凉鞋PCU DEWASA PRIA 38-44 =凉鞋

13.凉鞋PCU DEWASA PRIA 38-44 =凉鞋

14.凉鞋PCU DEWASA PRIA 38-44 =凉鞋

15.凉鞋PCU MINI 24-26 =凉鞋

16.凉鞋PCU DEWASA WANITA 36-40 =凉鞋

17.凉鞋PCU TANGGUNG 34-37 =凉鞋

18.凉鞋PCU DEWASA WANITA 36-40 =散打

L19.SANDAL PCU婴儿18-23 =凉鞋

但是,当我将代码中的手动array_category()从数据库中删除为array_category时,出现了这个问题。因为我希望使用strpos函数检查一个动态字符串数组.

以下是我更改为动态数组后的代码。

代码语言:javascript
复制
<?php
mysql_connect("localhost","root","");
mysql_select_db("dbmobile");
$arr=array();
//$array_category=array("JAS HU","PAYUNG","SANDAL","SARUNG","SEPATU","TALI J","TIKAR"," ");
$sql1="select kategori from tm_kategori";
$hasil1=mysql_query($sql1);
$array_category=array();
$array_produk=array();
$sql="select cgrpdesc from tm_tampung";
$hasil=mysql_query($sql);

while($data1=mysql_fetch_array($hasil1)){
        array_push($array_category,$data1[0]);
}

while($data=mysql_fetch_array($hasil)){
        array_push($array_produk,$data[0]);
}

for($i=0;$i<count($array_produk);$i++){
    if($e>0){
         $e=0;
     }
     for($a=0;$a<count($array_category);$a++){

            $fa=strpos($array_produk[$i],$array_category[$a]);
            if($fa!==FALSE && $e==0){
                array_push($arr,$array_category[$a]);
                $e++;
            }
    }
}
for($i=0;$i<count($array_produk);$i++){
        if($arr[$i]==" "){
            $arr[$i]="NULL";
        }

        echo $i.".".$array_produk[$i]."=".$arr[$i];
        echo "<br>";
    }


?>

结果是

0.凉鞋PCU DEWASA WANITA 36-40 =NULL

1.凉鞋PCU DEWASA PRIA 38-44 =NULL

2.凉鞋PCU DEWASA PRIA 38-44 =NULL

3.SEPATU注射DEWASA PRIA 38-44 =NULL

4.SEPATU注入DEWASA PRIA 38-44 =NULL

5.SEPATU注入DEWASA WANITA 36-40 =NULL

6.SEPATU注入DEWASA PRIA 38-44 =NULL

7.凉鞋PCU KECIL 30-33 =NULL

8.凉鞋PCU KECIL 30-33 =NULL

9.凉鞋PCU DEWASA WANITA 36-40 =NULL

10.凉鞋PCU DEWASA WANITA 36-40 =NULL

11.凉鞋PCU DEWASA WANITA 36-40 =NULL

12.凉鞋PCU DEWASA PRIA 38-44 =NULL

13.凉鞋PCU DEWASA PRIA 38-44 =NULL

14.凉鞋PCU DEWASA PRIA 38-44 =NULL

15.凉鞋PCU MINI 24-26 =NULL

16.凉鞋PCU DEWASA WANITA 36-40 =NULL

17.凉鞋- PCU - 34-37 =NULL

18.凉鞋PCU DEWASA WANITA 36-40 =NULL

19.凉鞋PCU婴儿18-23 =零

20.凉鞋PCU婴儿18-23 =零

21.凉鞋PCU DEWASA WANITA 36-40 =NULL

22.凉鞋PCU DEWASA WANITA 36-40 =NULL

23.凉鞋PCU DEWASA WANITA 36-40 =NULL

有人能给我一个支持来修复代码或者解释为什么会发生这种错误吗?是strpos函数错误吗?

谢谢:)任何帮助都将被接受。

EN

回答 1

Stack Overflow用户

发布于 2014-02-16 05:03:32

尝试将$data[0]更改为

代码语言:javascript
复制
while($data1=mysql_fetch_array($hasil1)){
        array_push($array_category,$data[0]);
}

转到$data1[0]

代码语言:javascript
复制
while($data1=mysql_fetch_array($hasil1)){
        array_push($array_category,$data1[0]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21807500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档