メンバーIDをキーとして行の結果セットからオブジェクトの連想配列を作成しようとしていますが、エラーが発生します。
addATravelog()は、UserLogsAndSOS()クラスの関数であり、そのオブジェクトを配列に入れたいと思っています。
これが私が試したことです:
class UserArraySet {
private $arrayOfUsers = array();
function createArrayForTravelogs($result) {
While($row = $result->next()) {
if(array_key_exists($row['id'], $this->arrayOfUsers)) {
$this->arrayOfUsers[$row['id']] = new UserLogsAndSOS();
}
$this->arrayOfUsers[$row['id']]->addATravelog($row['title'], $row['blog']); //line 72
}
}
}
オブジェクトからcreateArrayForTravelogs()を呼び出すと、次のエラーが発生しました。次のエラーが発生しました。
Notice: Undefined index: 1 in C:\xampp\htdocs\site\classes\userprofile.php on line 72
Fatal error: Call to a member function addATravelog() on a non-object in C:\xampp\htdocs\site\classes\userprofile.php on line 72
誰かがこれを達成する方法を教えてもらえますか、私はこのようなものが欲しいです:
Array (
[1] => objectUserLogsAndSOS1
[5] => objectUserLogsAndSOS2
....
)
ここで、keyは$rowのメンバーIDです。また、キーが存在するかどうかを確認してから、その特定のオブジェクトの関数を呼び出してそのメンバーにデータを追加する必要があります。存在しない場合は、オブジェクトを作成してから、その特定のオブジェクトの関数を呼び出してそのメンバーにデータを追加します。
ありがとう