1
我明白上半场,但我正在与下半场挣扎。特别是“(key($ a)!== $ i)”这一行是我停止理解的地方。这是说,如果数组$ a的键不等于索引计数器$ i,那么布尔可用的$ isList被赋值为false,但我不明白这个语句的意义。密钥($ a)!== $我有用地告诉我们数组$ a?该声明之后的句子也没有提到我。请向我解释一下?谢谢有人可以向我解释这段php代码
function getJsCode($a) {
if (is_null($a)) return 'null';
if ($a === false) return 'false';
if ($a === true) return 'true';
if (is_scalar($a)) {
$a = addslashes($a);
$a = str_replace("\n", '\n', $a);
$a = str_replace("\r", '\r', $a);
return "'".$a."'";
}
$isList = true;
for ($i=0, reset($a); $i<count($a); $i++, next($a))
if (key($a) !== $i) { $isList = false; break; }
$result = array();
if ($isList) {
foreach ($a as $v) $result[] = getJsCode($v);
return '[ ' . join(',', $result) . ' ]';
} else {
foreach ($a as $k=>$v) $result[] = getJsCode($k) . ': ' . getJsCode($v);
foreach ($a as $k=>$v) $result[] = $k . ': ' . getJsCode($v);
return '{ ' . join(', ', $result) . ' }';
}
}
这是*可怕,可怕的*代码。 – 2010-09-15 10:15:41
为什么你需要熟悉这个?继承项目,学习..? – 2010-09-15 10:17:08
@皮卡:标记为“作业”; @David:尽可能快地运行。 – halfdan 2010-09-15 10:19:17