>>666
>660と>657を掛け合わせれば解決できるのではないかと。
複合演算子を使う必要があります。

PHP: 代入演算子 - Manual
ttp://jp.php.net/manual/ja/language.operators.assignment.php

>657を元に、複合演算子で変数をまとめても良いですが、
どちらかといえば660氏のアルゴリズムを流用した方がスッキリすると思います。

>>667
ちゃんと、英語読んでます?
辞書を引けば解るレベルの英文だと思うのですが…。

「警告: 未定義の変数があります: a1 in...line22」
「警告: 未定義の変数があります: b1 in...line23」

お分かりでしょう?
それぞれの右辺の3つの変数がセットされていなければ、「変数が初期化されていません」とエラーが返ってくるは道理です。
必ず、初期化済みの変数でもって式を構成しなければなりません。