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/
