【发布时间】:2021-12-28 03:40:01
【问题描述】:
$userarray = array(
array(
'uid' => '100',
'extraid' => 2,
'name' => 'Sandra Shush',
'pic_square' => 'urlof100'
),
array(
'uid' => '5465',
'extraid' => 2,
'name' => 'Stefanie Mcmohn',
'pic_square' => 'urlof100'
),
array(
'uid' => '40489',
'extraid' => 2,
'name' => 'Michael',
'pic_square' => 'urlof40489'
),
array(
'uid' => '512',
'extraid' => 3,
'name' => 'Hillary',
'pic_square' => 'urlof409'
),
array(
'uid' => '792',
'extraid' => 3,
'name' => 'James',
'pic_square' => 'urlof489'
),
);
$all_category = $this->common->getAll(TABLE_CONF_CATEGORIES, 'year', $year);
foreach($all_category as $cats) {
$key = array_search($cats->id, array_column($userarray , 'extraid'));echo $key;
if($key) {
$userarray[$key]->category_name = $cats->category_name;
}
}
在这个数组中,我需要获取 extraid 的每个第一个元素。即如果extraid = 2,这里有3个元素,所以我需要获取第一个数组。如果 extraid = 3,则有 2 个数组,我需要获取第一个数组,以此类推。
这个 all_category 是另一个数组,其中存在相应的 extraid 值,因此循环它,并进行数组搜索以找到该值。
【问题讨论】:
-
到目前为止你有什么尝试?
-
@DownloadPizza 尝试在 foreach 中使用 if 条件获取值,但没有任何好处。
-
@TyphixDev 你能发布这个 foreach 和 if 条件代码吗?
-
@bassxzero
$all_category = $this->common->getAll(TABLE_CONF_CATEGORIES, 'year', $year); foreach($all_category as $cats) { $key = array_search($cats->id, array_column($userarray , 'extraid'));echo $key; if($key) { $userarray[$key]->category_name = $cats->category_name; } }这个 all_category 是另一个数组,其中存在相应的 extraid 值,因此循环它,并进行数组搜索以找到该值。 -
@TyphixDev 用代码更新问题。请不要将其添加为评论。
标签: php mysql arrays sorting multidimensional-array