我正在使用while循环,我需要能够将变量的值赋给新变量的名称。这是循环($ slide_number总是返回一个数字):
$slide_number = theme_get_setting('slides_number');
$count = '1';
while ($count <= $slide_number) {
$slide_path = theme_get_setting('slide_path_'.$count.'');
if (file_uri_scheme($slide_path) == 'public') {
$slide_path = file_uri_target($slide_path);
}
$count++;
}
所以让我们说$ slide_number是2.我需要生成$ slide_path_1和$ slide_path_2,那么如何将$ count变量添加到$ slide_path来创建$ slide_path_1和$ slide_path_2?
答案 0 :(得分:2)
虽然我不建议变量变量,但应该这样做:
$slide_path = "slide_path_" . $slide_count;
echo $$slide_path;
答案 1 :(得分:2)
参考:
${'slide_path' . $count}
答案 2 :(得分:0)
$count=1;
$var1='$slide_path_'.$count;
$$var1="here you go";
这将按名称$slide_path_1
创建一个变量,并将“此处转到”
答案 3 :(得分:0)
我很困惑。如果您只需要上一次循环运行的信息,请在循环结尾处保存一个包含该信息的变量。或者将所有这些加载到声明的数组中,然后在加载后用它做你想做的事。
答案 4 :(得分:0)
你要做的是非常糟糕的做法...... 使用数组来代替。查看数组如何工作,您可以将所有值一起附加到列表中,然后根据需要查看它们。请考虑以下事项:
$slide_number = theme_get_setting('slides_number');
$count = '1';
$array_of_slides = array();
while ($count <= $slide_number) {
$slide_path = theme_get_setting('slide_path_'.$count.'');
if (file_uri_scheme($slide_path) == 'public') {
$slide_path = file_uri_target($slide_path);
// this line appends your value to the end of the array
$array_of_slides[] = file_uri_target($slide_path);
}
$count++;
}
// this will print out the array so that you can see it
var_dump($array_of_slides);
旁注:您正在尝试做的事情就是这样糟糕的做法是因为如果您有40亿个变量被声明,那么您的程序肯定会崩溃,并且可能会使您的操作系统崩溃。