mysql⼀个循环匹配多个值_使⽤foreach循环更改多个字段中
的嵌套数组值
尝试循环遍历数组(mysql db table的查询结果),找到四个不同的字段并添加前缀。
我有四个图像版本 - 全尺⼨,中等,⼩,拇指 - 作为表字段(mysql)。值是⽂件名。我想为每个图像添加https:// ...前缀,以便我有每个图像的完整地址。
我的查询返回⼀个关联数组($myArray)。 foreach循环查找与图像字段的$key匹配,如果为true,则显⽰当前值,然后添加前缀,然后显⽰新值。显⽰为“新值”的内容包括前缀,以便部分代码按预期⼯作。
但是,当我之后显⽰$myArray时,“已更改”值不会更改。它们只是没有前缀的原始⽂件名。
我⽆法弄清楚如何将新值应⽤于数组。
这是我的代码:
$prefix = '/asts/images/';
foreach($myArray as $key => $value) {
if ($key == 'image_full_size') {
echo 'Current value: ' . $value['image_full_size'] . '
';
$value['image_full_size'] = $prefix . $value['image_full_size'];
echo 'New value: ' . $value['image_full_size'] . '
';
}
if ($key == 'image_med') {
echo 'Current value: ' . $value['image_med'] . '
';
$value['image_med'] = $prefix . $value['image_med'];
echo 'New value: ' . $value['image_med']. '
';
}
if ($key == 'image_small') {
echo 'Current value: ' . $value['image_small'] . '
';
$value['image_small'] = $prefix . $value['image_small'];
echo 'New value: ' . $value['image_small']. '
';
}
if ($key == 'image_thumb') {
echo 'Current value: ' . $value['image_thumb'] . '
';
$value['image_thumb'] = $prefix . $value['image_thumb'];
echo 'New value: ' . $value['image_thumb']. '
';
}
}
我很感激找到我的错误的任何帮助。
数组中的前两条记录:
Array
(
[0] => Array
(
[id] => 1
[lar_ries] => GTO FLX
[lar_model] => GTO/FLX01
[lar_color] => red
[price] => 118.75
[image_full_size] => /asts/images/lar-pistol/gto-flx01_black_red_1080x720.png
[image_med] => /asts/images/lar-pistol/gto-flx01_red_med.png
[image_small] => /asts/images/lar-pistol/gto-flx01_red_small.png
[image_thumb] => /asts/images/lar-pistol/gto-flx01_red_thumb.png
[ad_blurb] => Custom-designed to fit this brand and model. The GTO/FLX ries lar is the most technologically-advanced lar sight available for this popular pistol.
[feature01] => Grip-Touch Activation by using FLX
[feature02] => Side-Touch Activation without FLX
[feature03] => Ultra-bright 635nm red lar
[special_message] =>
[mfr_name] => Kel-Tec
)
[1] => Array
(
[id] => 3
[lar_ries] => GTO FLX
[lar_model] => GTO/FLX02
[lar_color] => red
[price] => 118.75
[image_full_size] => gto-flx02_black_red_1080x720.png
[image_med] => gto-flx02_red_med.png
[image_small] => gto-flx02_red_small.png
[image_thumb] => gto-flx02_red_thumb.png
[ad_blurb] => Custom-designed to fit this brand and model. The GTO/FLX ries lar is the most technologically-advanced lar sight available for this popular pistol.
[feature01] => Grip-Touch Activation by using FLX
[feature02] => Side-Touch Activation without FLX
[feature03] => Ultra-bright 635nm red lar
[special_message] =>
[mfr_name] => Kel-Tec
)
)