Php 如何用静态值动态替换产品名称

Php 如何用静态值动态替换产品名称,php,mysql,arrays,string,replace,Php,Mysql,Arrays,String,Replace,如何用静态值动态替换产品名称我从数据库获取所有产品名称,但我想创建一个函数,在从数据库获取所有记录后替换产品名称中的一些单词 例如 $a="this is testing script STOCK,stock,Stock"; $replaceWord=array(" STOCK " => "UAE PRODUCTS", "stock" => "uae products", &

如何用静态值动态替换产品名称我从数据库获取所有产品名称,但我想创建一个函数,在从数据库获取所有记录后替换产品名称中的一些单词

例如

$a="this is testing script STOCK,stock,Stock";

$replaceWord=array("

STOCK " =>  "UAE PRODUCTS",
"stock" => "uae products",  
"Stock" => "Uae Products");

$new_test= strtr($a, $replaceWord);

echo $new_test;
here my script

$query=mysql_query("select pnames from products order by pid asc");
$row=mysql_fetch_array($query);

$a=$row['pnames'];

$replaceWord=array(
$a="STOCK" =>  "UAE DUBAI",
$a="stock" => "uae dubai",  
$a="Stock" => "Uae Dubai");

echo $new_row['Name'] =     strtr($row['pnames'], $replaceWord);        
“Zon Stock”是从数据库中获取的产品名称,我希望系统仅替换
Stock
,而不应替换
Zon Stock
完成的产品名称

问题

问题是,我的代码运行良好,但只使用硬代码,而不使用动态记录

静态代码

$a="this is testing script STOCK,stock,Stock";

$replaceWord=array("

STOCK " =>  "UAE PRODUCTS",
"stock" => "uae products",  
"Stock" => "Uae Products");

$new_test= strtr($a, $replaceWord);

echo $new_test;
here my script

$query=mysql_query("select pnames from products order by pid asc");
$row=mysql_fetch_array($query);

$a=$row['pnames'];

$replaceWord=array(
$a="STOCK" =>  "UAE DUBAI",
$a="stock" => "uae dubai",  
$a="Stock" => "Uae Dubai");

echo $new_row['Name'] =     strtr($row['pnames'], $replaceWord);        
但同一代码不适用于从数据库获取的
产品名称字段

$query=mysql_query("select pnames from products order by pid asc");

while($row=mysql_fetch_array($query))
{

$a = $row['pnames'];

$replaceWord=array("

STOCK " =>  "UAE PRODUCTS",
"stock" => "uae products",  
"Stock" => "Uae Products");

$new_test= strtr($a, $replaceWord);

echo $new_test;


}
谢谢我已经在这里完成了我的脚本

$a="this is testing script STOCK,stock,Stock";

$replaceWord=array("

STOCK " =>  "UAE PRODUCTS",
"stock" => "uae products",  
"Stock" => "Uae Products");

$new_test= strtr($a, $replaceWord);

echo $new_test;
here my script

$query=mysql_query("select pnames from products order by pid asc");
$row=mysql_fetch_array($query);

$a=$row['pnames'];

$replaceWord=array(
$a="STOCK" =>  "UAE DUBAI",
$a="stock" => "uae dubai",  
$a="Stock" => "Uae Dubai");

echo $new_row['Name'] =     strtr($row['pnames'], $replaceWord);        

试试这个而不是

$query = mysql_query("select pnames from products order by pid asc");

while($row=mysql_fetch_array($query)) {

  $a = $row['pnames'];

  // for simplicity I'm using function here
  $get_result = word_replace($a);

}

function word_replace($key) {

 // array of static words
 $replaceWord = array(
  "STOCK " =>  "UAE PRODUCTS",
  "stock" => "uae products",  
  "Stock" => "Uae Products"
 );

 // Find in array
 if (array_key_exists($key, $replaceWord)) {

  // replace that string
  $replace_string = $replaceWord[$key];

 } else {
  $replace_string = $key;
 }
 return $replace_string;
}

也许这本书对你有帮助。

你确定你是说strstr吗?不是str_replace?是
$row['pnames']
类似于
$a=“这是测试脚本库存、库存、库存”的字符串??从PHP5.5开始,该扩展已被正式弃用,并将被删除,因此请切换到替代版本。看到红色了吗notice@code-谢谢,这只是一个示例编码,但在现实中我使用的是bigcommerce购物cart@khalid是的,确切地说,我想将
$row['pnames']
替换为类似
$a
Farhan的字符串。请尝试对代码进行dubug。也许你的问题会解决的。我也面临着这个问题,但代码对我很有帮助。