PHP中的多变量
一般来说,我对PHP和编程相当陌生。。。我试图使用foreach循环在我创建的页面上设置一些选项。除了最后一节,我尝试动态分配变量,这样我就可以在循环之外使用它们PHP中的多变量,php,Php,一般来说,我对PHP和编程相当陌生。。。我试图使用foreach循环在我创建的页面上设置一些选项。除了最后一节,我尝试动态分配变量,这样我就可以在循环之外使用它们 <?PHP $array=array(foo, bar, baz); foreach ($array as $option) { // I have if statements to determine what $option_req // and $option_status end up being, th
<?PHP
$array=array(foo, bar, baz);
foreach ($array as $option) {
// I have if statements to determine what $option_req
// and $option_status end up being, they work correctly.
$option_req="Hello";
$option_status="World";
$rh='Req_';
$sh='Status_';
$$rh.$$option=$option_req;
$$sh.$$option=$option_status;
}
echo "<br>R_Foo: ".$Req_foo;
echo "<br>S_Foo: ".$Status_foo;
echo "<br>R_Bar: ".$Req_bar;
echo "<br>S_Bar: ".$Status_bar;
echo "<br>R_Baz: ".$Req_baz;
echo "<br>S_Baz: ".$Status_baz;
?>
我已经玩过一点了,谷歌上的搜索今天似乎没有结果。看起来PHP不喜欢在你尝试做作业时使用连接。试着事先这样做,比如:
<?php
$array = array('foo', 'bar', 'baz');
foreach ($array as $option)
{
$option_req="Hello";
$option_status="World";
$rh = 'Req_';
$sh = 'Status_';
$r_opt = $rh.$option;
$s_opt = $sh.$option;
$$r_opt = $option_req;
$$s_opt = $option_status;
}
echo "<br>R_Foo: ".$Req_foo;
echo "<br>S_Foo: ".$Status_foo;
echo "<br>R_Bar: ".$Req_bar;
echo "<br>S_Bar: ".$Status_bar;
echo "<br>R_Baz: ".$Req_baz;
echo "<br>S_Baz: ".$Status_baz;
正如其他评论者所说,这不是一个好的做法。尝试将数据存储在一个数组中,而不是用变量将名称空间弄得乱七八糟。当您尝试执行赋值时,PHP似乎不喜欢串联。试着事先这样做,比如:
<?php
$array = array('foo', 'bar', 'baz');
foreach ($array as $option)
{
$option_req="Hello";
$option_status="World";
$rh = 'Req_';
$sh = 'Status_';
$r_opt = $rh.$option;
$s_opt = $sh.$option;
$$r_opt = $option_req;
$$s_opt = $option_status;
}
echo "<br>R_Foo: ".$Req_foo;
echo "<br>S_Foo: ".$Status_foo;
echo "<br>R_Bar: ".$Req_bar;
echo "<br>S_Bar: ".$Status_bar;
echo "<br>R_Baz: ".$Req_baz;
echo "<br>S_Baz: ".$Status_baz;
正如其他评论者所说,这不是一个好的做法。尝试将数据存储在数组中,而不是用变量将名称空间弄乱。要访问某个数组项,只需访问某个数组项即可。 不需要循环
$req = array("foo" => 1,
"bar" => 2,
"baz" => 3,
);
echo $req['foo'];
简单明了要访问某个数组项,只需访问某个数组项即可。 不需要循环
$req = array("foo" => 1,
"bar" => 2,
"baz" => 3,
);
echo $req['foo'];
简单易懂的变量不是这样工作的。您需要有一个包含字符串的变量
$opt_r = $rh.$option;
$$opt_r = $option_req;
$opt_s = $sh.$option;
$$opt_s = $option_status;
此外,请确保引用字符串:
$array=array('foo', 'bar', 'baz');
我不建议使用变量,但如果您愿意,这就是如何做到的。变量不是这样工作的。您需要有一个包含字符串的变量
$opt_r = $rh.$option;
$$opt_r = $option_req;
$opt_s = $sh.$option;
$$opt_s = $option_status;
此外,请确保引用字符串:
$array=array('foo', 'bar', 'baz');
我不建议使用变量,但如果你想,这就是方法。你可以,但你不应该!做:
${$rh.$option} = ...
你可以,但你不应该!做:
${$rh.$option} = ...
所有这些都是神圣的,请不要这样做。也许如果你添加你的整个代码,它会更有意义。。。你到底想做什么?尽管很神圣,但请不要这样做。也许如果你添加整个代码,它会更有意义。。。你到底想干什么?谢谢你的帮助!这个例子很有效。。。看到这个示例后,我单击了变量。上面的一个数组示例为我提供了一个更好的方法。谢谢你的帮助!这个例子很有效。。。看到这个示例后,我单击了变量。上面的一个数组示例为我提供了一个更好的方法。谢谢。我总是分配只使用默认数字[0]、[1]等的数组。给定数组元素名称使其更易于引用!谢谢我总是分配只使用默认数字[0]、[1]等的数组。给定数组元素名称使其更易于引用!