如何基于数据库php更改某些字符串

如何基于数据库php更改某些字符串,php,arrays,Php,Arrays,伙计们,我无法用以下代码更改$menu\u image中字符串的某些部分: string(62) "/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg" 我想尝试使用一个新的数字字符串来更改225,并将其保存在$category\u id 例如,如果我在$category\u id中有226,则$menu\u image应如下所示: string(62) "/asset/images/menu/Singapore/365

伙计们,我无法用以下代码更改
$menu\u image
中字符串的某些部分:

string(62) "/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg"
我想尝试使用一个新的数字字符串来更改
225
,并将其保存在
$category\u id

例如,如果我在
$category\u id
中有
226
,则
$menu\u image
应如下所示:

string(62) "/asset/images/menu/Singapore/365/226/509/509_RhWu2f4G_s130.jpg"
伙计们,有可能改变这一点吗


谢谢(:

如果在名为
$category\u id
变量中有值,则应将
变量
连接到
图像路径所用的
字符串
。例如,
“/asset/images/menu/Singapore/365/”$category\u id./509/509\RhWu2f4G\u s130.jpg”


希望这有帮助。

如果您的数据始终处于相同的位置,则只需首先分解代码即可:

$split=array_map('trim', explode("/",$menu_image));
$split[6] = $category_id;
$menu_image_link = implode("/",$split);
您的
$menu\u image\u链接将返回:

string(62) "/asset/images/menu/Singapore/365/".$category_id."/509/509_RhWu2f4G_s130.jpg"

您应该拆分字符串,替换所需的部分,然后将其重新连接,如下所示:

<?php
$string = '/asset/images/menu/Singapore/365/225/509/509_RhWu2f4G_s130.jpg';
$new_id = '226';
$string_array = explode('/', $string);
$string_array[6] = $new_id; // Replacing 6th element which is the number we're looking for
$string = implode('/', $string_array);
?>

是的,这是可能的,-你总是想用其他东西来替换它吗?-在任何情况下,试着用stru-replace('225','226',$string)来替换它
@Epodax另一个问题,如果字符串中有相同的数字,比如365是225,那么如果我使用
str\u替换
,那么
225
将被更改为新的string@Kelvin确实会。您要替换的字符串是否始终位于同一位置(即在
/asset/images/menu/Singapore/A_NUMBER/u NUMBER/u TO_CHANGE/…
之后,它是否始终是一个数字?是的,它将位于相同的位置,并且始终返回数字。@roberto06i不能这样做,正如我所说的
“/asset/images/menu/Singapore/365/226/509/509_RhWu2f4G\u s130.jpg”
来自数据库dude!!好的,很抱歉我没有重新阅读标题,如果是这样,那么根据Epodax的建议,您将需要使用
str\u replace
。我相信使用
str\u replace('255',$category\u id,$string);
使用
$string
作为包含图像路径的数组的一部分,这是您所追求的。检查上面的注释,前提是您要替换的255始终位于相同的位置,您可以使用
substr\u replace($string,$category\u id,33,-1)
当(或任何数字)变为4位数。抱歉,上面的代码中有一个错误,-1应该是3,指定要替换的长度。