- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
好吧,我似乎对 PHP 的变量范围有误解,请原谅我缺乏这个主题,因为我来自 Java、C# 背景。我想我可以让函数或 if 语句可以访问变量,只需将它放在它外面即可。以下是我要完成的工作的片段:
foreach ($nm as $row=>$im) {
$itm_name = $im;
$lnk = $lnk_cty[$row];
if($mode == 'addMenu') {
$m = $m_id; //id will be coming from fresh insert of menu_name
} else {
$m = $_POST['mnu_add'][$row];
echo "MENU_ID: ".$m;
}
if($mode == 'addCat') {
$m = $c_id; //id will be coming from fresh insert of cat_name
} else {
$m = $_POST['cat_add'][$row];
}
//used for testing purposes
echo "item name: ".$itm_name ."<br />";
echo "lnk: ".$lnk ."<br />";
echo "m: ".$m ."<br />"; //$m is empty here, because its a new declaration as oppose to accessing $m value from if statement
$display_fields .= "<li>".$itm_name." ".$item."</li>";
$sql_array[] = '("' . $itm_name . '", "' . $lnk . '", ' . $m . ')'; // Add a new entry to the queue
}
现在我要做的是让 $m
变量值在 if 语句之外可访问,它进入 中使用的
语句。在 C# 中,我将简单地在 foreach 循环外声明一个变量并能够使用它。在对此事做了一些阅读之后,我发现只有在我的全局范围变量在 foreach 之前分配值并声明 $m
变量$sql_array[]global $m
以在环形。但是对于我当前的代码,$m
是 if 语句中的局部范围,每个人都不鼓励使用它们。现在,是否有更好的方法使 $sql_array[]
语句可以访问 $m
?
最佳答案
If
语句 block 没有自己的作用域。无论您分配给 $m
的什么数据都必须以空开始。尝试调试诸如 $_POST
变量之类的东西。另外,$m_id
在哪里被定义?也许它也是空的。
PHP 确实在函数、类方法等内部有作用域。但是 if
语句没有自己的作用域。例如,以下代码将回显 Hi there!
:
$bool = true;
if ($bool) {
$new_var = 'Hi there!';
}
echo $new_var;
阅读 manual .
关于php - if 语句的变量作用域问题 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110340/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!