0
function get_frequencies( $a )
{
  $get_frequencies = array();
  foreach( $a as $k => $v )
  { 
    $get_frequencies[$v]++ ;  //this is the line causing the error
  }
  return $get_frequencies;
}
/*Get Flip function involking and testing */        
$letter_freq = array("a" => "x", "c" => "y", "b" => "z", "d" => "y", "z" => "y");
$get_frequencies = get_frequencies( $letter_freq );
print_r($get_frequencies)

答えを得るエラーは正しいですが、それでもこのエラーが発生します。

Notice: Undefined index: x in
C:\Users\Marty2\Desktop\xampp\htdocs\lab13\array_library.php on line
235

Notice: Undefined index: y in
C:\Users\Marty2\Desktop\xampp\htdocs\lab13\array_library.php on line
235

Notice: Undefined index: z in
C:\Users\Marty2\Desktop\xampp\htdocs\lab13\array_library.php on line
235
Array ( [x] => 1 [y] => 3 [z] => 1 )
4

1 に答える 1

2

まだ存在しない変数の値をインクリメントしようとしているからです。それらが存在することを確認してください。存在しない場合は、それらをインスタンス化してゼロの値を割り当てます。その後、それらの値を安全にインクリメントできます。

if (!isset($get_frequencies[$v]))
{
    $get_frequencies[$v] = 0;
}
$get_frequencies[$v]++;
于 2013-02-03T02:02:35.703 に答える