0
すべての情報で配列全体を返す方法は?私は配列のユーザーに関する情報を返そうとしています。私はこのパラメタで3人のユーザーを持っていますが、私が戻ったときに私は最初のユーザーしか表示されません。どうしたの?たぶん、$ userによってforEachのようなものを値として返す必要がありますか?forEachですべての配列をPHPで返すには?
function ___favorites($id_post) {
global $wpdb;
$users = $wpdb->get_blog_prefix() . 'users';
$user_meta = $wpdb->get_blog_prefix() . 'usermeta';
// делаем запрос
$favorites = $wpdb->get_results("SELECT ID FROM {$users} LEFT OUTER JOIN {$user_meta} ON {$user_meta}.user_id = {$users}.ID
WHERE {$user_meta}.meta_key = 'fav_id' AND {$user_meta}.meta_value LIKE '%{$id_post}%'", ARRAY_A);
return $favorites;
}
function favorites_app($id_post) {
$users = ___favorites($id_post);
if (!empty($users)) {
foreach($users as $value) {
$user_data = get_userdata($value['ID']);
$user_id = get_user_by('login', $user_data->user_login);
}
return $users;
} else {
return null;
}
}
あなたはforeach内で '$ user_id'を使用しません。これは正常ですか?それを配列に追加することができます。 foreach内で毎回 '$ user_id'が上書きされているので、 – AnthonyB
の部分は問題ですか?お気に入りメソッドは、投稿に関連付けられたすべてのユーザーIDを返します。 favourites_appは、そのクエリの結果をそのまま渡します。 foreachループは、生成するデータで何もしないため、無意味です。新しい配列を作成して返したいのですか? – ADyson
申し訳ありません私はこれに変更しています) –