我有这样的代码。
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函数检查一个动态字符串数组.
以下是我更改为动态数组后的代码。
<?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函数错误吗?
谢谢:)任何帮助都将被接受。
发布于 2014-02-16 05:03:32
尝试将$data[0]更改为
while($data1=mysql_fetch_array($hasil1)){
array_push($array_category,$data[0]);
}转到$data1[0]
while($data1=mysql_fetch_array($hasil1)){
array_push($array_category,$data1[0]);
}https://stackoverflow.com/questions/21807500
复制相似问题