PHPについて学習内容を備忘録としてまとめます。
実装中に起きたエラーについて解決法まで記載します。
下記のようなマイページでユーザーの投稿数を表示させる際にエラーが発生しました。
起きた問題
ユーザーの投稿数を取得し表示したら下記のようなエラーが発生しました。
Notice: Array to string conversion in C:\xampp3\htdocs\user\user_mypage.php on line 22
Array
投稿数を表示させる箇所にArray
と表示されおり、投稿数は表示されていませんでした。
該当のコードはこちらになります。
<?php
print'<p>投稿数:'.get_user_count('post',$current_user['id']).'</p>';
?>
get_user_count
は引数の値によって投稿数を取得しています。
原因
Array to string conversion
とは配列が文字列に変換
されてしまうというエラーメッセージです。
なので今回の場合はget_user_count
で取得した配列が文字列に変換されているためにエラーが発生したと思われます。
解決法
配列の中の要素を返すようにすれば良いので、current
を使用します。
current
は配列の現在参照している要素を返します。
<?php
$a[] = 1;
$a[] = 2;
$a[] = 3;
print current( $a ); // 結果:1
?>
current
を先ほどのコードに追記してみます。
<?php
print'<p>投稿数:'.current(get_user_count('post',$current_user['id'])).'</p>';
?>
参考URL
https://php-beginner.com/function/array/current.html
https://marycore.jp/prog/php/notice-array-to-string-conversion/