【发布时间】:2017-04-22 15:47:25
【问题描述】:
我正在尝试替换正在通过管道传输到数组中的获取 url
这是原始代码
$res['images'] = array();
$res['images'][] = (string)$item->LargeImage->URL;
if (count($item->ImageSets) > 0) {
$count = 0;
foreach ($item->ImageSets->ImageSet as $key => $value) {
if ($count > 5) continue;
if (isset($value->LargeImage->URL) && $count > 0) {
$res['images'][] = (string)$value->LargeImage->URL;
}
$count++;
}
}
我需要做的是将变量 $rest['images'][] 或我感到困惑的 $item 替换为类似的东西
$res['images'] = array();
$res['imagesLow'][] = (string)$item->LargeImage->URL;
$res['Images'][] = preg_replace('/\\.[^.\\s]{3,4}$/', '._UL1500_.jpg', $res['imagesLow'][]);
if (count($item->ImageSets) > 0) {
$count = 0;
foreach ($item->ImageSets->ImageSet as $key => $value) {
if ($count > 5) continue;
if (isset($value->LargeImage->URL) && $count > 0) {
$res['images'][] = (string)$value->LargeImage->URL;
}
$count++;
}
}
但这对于 $res['imagesLow'][] 中的最后一个变量包含 [] 是不可接受的。
$res['Images'][] = preg_replace('/\\.[^.\\s]{3,4}$/', '._UL1500_.jpg', $res['imagesLow'][]);
它给了我错误 500 我做错了什么?
主要思想是将获取的 .JPG 部分 url 替换为“.UL1500.jpg”
【问题讨论】:
-
您不能以这种方式访问数组的最后插入项。将值保存在临时变量中或使用
$res['imagesLow'][count(res['imagesLow'])-1] -
你能提供整个代码修复吗?我还在学习
-
f.e.,
$temp = $res['imagesLow'][] = (string)$item->LargeImage->URL;并在下一条语句中使用 temp
标签: php arrays preg-replace