我使用两个函数。函数1(“setImageCopyrightsPost”)将一些信息写入数组(“img_copyrights”),然后调用函数2(“getPostImageThumbnailByID”),然后将函数2中设置的变量(“img_thumbnail”)写入数组以及。但最后一步不起作用。
function setImageCopyrightsPost($db_link_backend, $img)
{
global $img_copyrights;
global $img_thumbnail;
$img_copyrights["post-". $img['id']]['title'] = $img['title'];
$img_copyrights["post-". $img['id']]['copyright'] = $img['copyright'];
getPostImageThumbnailByID($img['id']);
$img_copyrights["post-". $img['id']]['url'] = IMG_URL_PATH . $img_thumbnail;
}
function getPostImageThumbnailByID($img_id)
{
global $img_thumbnail;
unset($img_thumbnail);
$sql_get_img_meta_by_id = "SELECT ...'";
// some SQL-stuff
if ($num_rows_get_img_meta_by_id == 1 && mysqli_errno($db_link_backend) == 0) {
$row_get_img_meta_by_id = mysqli_fetch_array($result_get_img_meta_by_id);
// get data from image meta
unset($preg_matches);
preg_match("/(\"thumbnail\")(.+?)(\"file\")(.+?)(\")(.+?)(\")(.+?)(\"width\";i:)(.+?)(;)(.+?)(\"height\";i:)(.+?)(;)/m", $row_get_img_meta_by_id['meta_value'], $preg_matches);
// set name
$img_thumbnail = $preg_matches[6];
echo $img_thumbnail;
return true;
}
}
我遗漏了 sql-stuff,因为我知道它正在工作,因为它echo $img_thumbnail正在工作 - 变量正确打印在页面上。但是当我使用时var_dump($img_copyrights),只设置了“标题”和“版权”,“url”为“NULL”。
看来,函数 1 不能使用函数 2 中设置的变量 $img_thumbnail。
是我犯了错误还是正常现象?
拉风的咖菲猫