我有这段代码
<?php
$a1 = 'http://www.hamooz.com';
$a2 = 'http://www.myegy.com';
$a3 = 'http://www.tech-wd.com/wd';
$num = rand(1,3);
$numb = '$a'.$num;
echo file_get_contents($numb);
?>
问题似乎是:
警告:file_get_contents($ a3)[function.file-get-contents]:无法打开流:第9行的C:\ xampp \ htdocs \ ttt \ bessah.php中没有此类文件或目录
答案 0 :(得分:4)
您需要执行$numb = ${'a'.$num};
,但使用数组解决方案作为@Pekka的答案。
答案 1 :(得分:3)
变量变量是一种不好的做法。改为使用数组。
<?php
$a = array();
$a[] = 'http://www.hamooz.com';
$a[] = 'http://www.myegy.com';
$a[] = 'http://www.tech-wd.com/wd';
$num = rand(0,2);
$numb = $a[$num];
echo file_get_contents($numb);
?>
但是,对于此特定任务,还有一个shortcut:
array_rand()
从数组中挑选一个或多个随机条目,并返回随机条目的一个或多个键。
答案 2 :(得分:0)
我同意@Pekka你会使你的代码复杂化, 但如果你绝对想要使用动态变量,你可以这样做:
<?php
$a1="hello";
$b=1;
echo ${"a$b"};
?>