Php 如何根据用户id从对象数组创建新数组?
在某些情况下,我在循环对象数组并显示其中的数据时遇到问题 我希望该网页显示以下内容:Php 如何根据用户id从对象数组创建新数组?,php,mysql,arrays,wordpress,object,Php,Mysql,Arrays,Wordpress,Object,在某些情况下,我在循环对象数组并显示其中的数据时遇到问题 我希望该网页显示以下内容: <p>John Doe</p> <p>William Green</p> <p>Jane Smith</p> 当我在网页上输出信息时,我希望它如下所示: <p>John Doe</p> <p>William Green</p> <p>Jane Smith</p> 约
<p>John Doe</p> <p>William Green</p> <p>Jane Smith</p>
当我在网页上输出信息时,我希望它如下所示:
<p>John Doe</p> <p>William Green</p> <p>Jane Smith</p>
约翰·多伊威廉·格林简·史密斯
也许我需要遍历对象并基于用户ID构建新的数组?请不要提供带有echo或print\r的代码。只有“return”可以用于此项目。那么
$您的\u对象
已经按umeta\u id
和用户\u id
字段排序了吗
如果没有,您可以使用:
然后简单地说:
$str = '';
for($i=0;$i<count($your_object);$i+=2){
$str .= "<p>".$your_object[$i]->meta_value." "$your_object[$i+1]->meta_value."</p> ";
}
return $str; // this var contain all your data in string
$str='';
对于($i=0;$imeta_值)。“$your_对象[$i+1]->meta_值。””;
}
return$str;//此变量包含字符串中的所有数据
希望这有帮助!这将生成名和姓对:
$user_group = array();
ksort($user_group, SORT_NUMERIC);
foreach ($users as $key => $item) {
$name_meta = get_object_vars($item);
foreach ($name_meta as $meta_in => $names) {
if ($names == 'first_name') {
$user_group[$item->user_id]['first_name'] = $name_meta['meta_value'];
}
if ($names == 'last_name') {
$user_group[$item->user_id]['last_name'] = $name_meta['meta_value'];
}
}
}
foreach ($user_group as $name) {
echo "<p>" . $name['first_name'] . " " . $name['last_name'] . "</p>";
}
输出:
array(3) {
[1]=>
array(2) {
["first_name"]=>
string(4) "John"
["last_name"]=>
string(3) "Doe"
}
[2]=>
array(2) {
["first_name"]=>
string(4) "Jane"
["last_name"]=>
string(5) "Smith"
}
[3]=>
array(2) {
["first_name"]=>
string(7) "William"
["last_name"]=>
string(5) "Green"
}
}
和打印用户名对:
$user_group = array();
ksort($user_group, SORT_NUMERIC);
foreach ($users as $key => $item) {
$name_meta = get_object_vars($item);
foreach ($name_meta as $meta_in => $names) {
if ($names == 'first_name') {
$user_group[$item->user_id]['first_name'] = $name_meta['meta_value'];
}
if ($names == 'last_name') {
$user_group[$item->user_id]['last_name'] = $name_meta['meta_value'];
}
}
}
foreach ($user_group as $name) {
echo "<p>" . $name['first_name'] . " " . $name['last_name'] . "</p>";
}
foreach($user\u group as$name){
回声“”$name['first_name']。“$name['last_name']。””;
}
我用我的数据库查询变量替换了$users,它工作得很好。Kudos Hasta…非常感谢..foreach($users as$key=>$item)使用$user\u group[$item->user\u id]的行正在抛出此错误:注意:未定义属性:stdClass::$user\u id。是否仍要改进此错误?无需担心…我已经解决了。我只需要更新我的SELECT语句。我很高兴能够提供帮助;)