php – 通过引用传递密钥和值的替代方法:
有人可以向我解释为什么你不能传递密钥作为参考?
例如: if(is_array($where)){ foreach($where as &$key => &$value){ $key = sec($key); $value = sec($value); } unset($key,$value); } 抛出: Fatal error: Key element cannot be a reference in linkstest.php on line 2 我可以使用array_map做类似的事情吗? 阵列图很难让我理解: 我已经尝试过很多关于array_map的东西,但是我无法直接对它进行操作. 使用数组映射比使用foreach循环获得任何性能优势吗? 我不喜欢foreach的是我不能直接对数组执行操作,并且必须处理创建临时数组并取消设置它们: foreach($where as $key => $value){ $where[secure($key)] = secure($value); } 如果它在键中找到要转义的内容,添加新元素并保持未转义的元素,则可能会失败. 所以我坚持这样的事情? $temparr = array(); foreach($where as $key => $value){ $temparr[secure($key)] = secure($value); } $where = $temparr; unset($temparr); 任何替代品?
因为语言不支持这个.你很难在大多数语言中找到这种能力,因此称为关键词.
是.最好的方法是使用适当的键创建一个新数组.
提供更好的替代方案的唯一方法是了解您的具体情况.如果您的键映射到表列名称,那么最好的方法是将键保持原样,并在SQL中使用它们时将其转义. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |