1
我正在努力解析下面的字符串,但同時試圖擺脫索引數組上的當前未定義的偏移量。我希望有一些幫助/未定義的抵消問題。php遞歸 - 通知:未定義偏移量:20數組
error_reporting(E_ALL);
ini_set('display_errors', '1');
function my_recursion($String, &$Inc) {
$l = strlen($String);
$has_quotes = 0; $array = array();
$x= 0;
for ($Inc; $Inc < $l; $Inc++) {
$my_char = $String[$Inc];
if ($my_char == '(' && !$has_quotes) {
$Inc++;
$array[$x] = my_recursion($String, $Inc);
$x++;
} else if ($my_char == '"') {
$has_quotes = !$has_quotes;
if (!$has_quotes)
$x++;
} else if ($has_quotes) {
$array[$x] .= $my_char;
}
}
print_r($array);
}
$String = '(("HELLO"("BAR")("FOO")()""))';
$Inc = 0;
(my_recursion($String, $Inc));
用小寫字母寫變量名稱。 在定義它們之前不要使用數組array(); 描述你的功能在提問時應該做什麼。 無法在此處重現您的錯誤。 – 2011-03-19 05:41:45
@tokam:感謝提示,複製你必須添加的'notice':error_reporting(E_ALL); ini_set('display_errors','1');' – JoshDarrow 2011-03-19 05:47:43
我看到了這個提示,這是因爲你沒有首先定義它就使用了數組。 – 2011-03-19 05:52:01