PDA

View Full Version : درست کار نکردن str_replace با زبان فارسی؟!



binboy
پنج شنبه 12 بهمن 1391, 17:36 عصر
سلام چرا کد زیر خروجی درستی نمیده؟

خوروجی باسد این باشد:



Array
(
[0] => همه
[1] => سفارش تور خارجی
[2] => ثبت تور خارجی
)


ولی همچین است:



Array
(
[0] => ثبت تور خارجیسفارش تور خارجی
[1] => سفارش تور خارجی
[2] => ثبت تور خارجی
)


مشکل کجاست؟!

اینم دموش: http://phpfiddle.org/main/code/srj-k3d -> روی run کلیک کنید تا خروجی را ببینید



<?php

$numA_m = "2";
$res = '["110","2","1"]';
$numA_s = json_decode($res);
if ($numA_m == 1) {
$A_num_s = array("1", "2", "3", "4","110");
$A_nam_s = array("محل اقامت", "راهنما", "ارلاین", "کد بلیط", "همه");
}
if ($numA_m == 2) {
$A_num_s = array("1", "2","110");
$A_nam_s = array("ثبت تور خارجی", "سفارش تور خارجی","همه");
}
$Rsp = str_replace($A_num_s, $A_nam_s, $numA_s);
$Rsp_In = str_replace($A_nam_s, $A_num_s, $Rsp);
echo '<pre>';
print_r($Rsp);
?>

MMSHFE
جمعه 13 بهمن 1391, 10:25 صبح
مشکل، تکراری بودن رقم 1 هست. کد زیر رو تست کنید:


<?php

$numA_m = "2";
$res = '["3","2","1"]';
$numA_s = json_decode($res);
if ($numA_m == 1) {
$A_num_s = array("1", "2", "3", "4","5");
$A_nam_s = array("محل اقامت", "راهنما", "ارلاین", "کد بلیط", "همه");
}
if ($numA_m == 2) {
$A_num_s = array("1", "2", "3");
$A_nam_s = array("ثبت تور خارجی", "سفارش تور خارجی", "همه");
}
$Rsp = str_replace($A_num_s, $A_nam_s, $numA_s);
echo '<pre>';
print_r($Rsp);
echo '</pre>';
$Rsp_In = str_replace($A_nam_s, $A_num_s, $Rsp);
echo '<pre>';
print_r($Rsp_In);
echo '</pre>';

?>