在PHP数组中搜索
我有一个数组,其中包含一些数据。比如说--- 现在我如何编写这样的函数呢--- 我已经这样试过了--- 但这会返回null,我如何在category为category1的条件下在数组中搜索所有属于该类别的名称… 我知道这可能是一个非常愚蠢的问题,但人们有时会被困在一个非常基本的问题上。在PHP数组中搜索,php,Php,我有一个数组,其中包含一些数据。比如说--- 现在我如何编写这样的函数呢--- 我已经这样试过了--- 但这会返回null,我如何在category为category1的条件下在数组中搜索所有属于该类别的名称… 我知道这可能是一个非常愚蠢的问题,但人们有时会被困在一个非常基本的问题上。 希望有人知道答案。下面的代码将帮助您 <?php $data = array( 'CATEGORY 1' => array( array('id'=> 0, 'name
希望有人知道答案。
下面的代码将帮助您
<?php
$data = array(
'CATEGORY 1' => array(
array('id'=> 0, 'name' => 'John', 'category' => 'CATEGORY1'),
array('id'=> 1, 'name' => 'Jack', 'category' => 'CATEGORY1'),
array('id'=> 2, 'name' => 'Jame', 'category' => 'CATEGORY1'),
),
'CATEGORY 2' => array(
array('id'=> 0, 'name' => 'Mile', 'category' => 'CATEGORY2'),
array('id'=> 1, 'name' => 'Mike', 'category' => 'CATEGORY2'),
array('id'=> 2, 'name' => 'Matt', 'category' => 'CATEGORY2'),
)
);
$post = 'CATEGORY 1';
$pluck = 'name';
var_dump( array_reduce($data['CATEGORY 1'], function($result, $array) use ( $pluck ) {
isset($array[$pluck]) && $result[] = $array[$pluck];
return $result;
}, array()));
<?php
$data = array(
'CATEGORY 1' => array(
array('id'=> 0, 'name' => 'John', 'category' => 'CATEGORY1'),
array('id'=> 1, 'name' => 'Jack', 'category' => 'CATEGORY1'),
array('id'=> 2, 'name' => 'Jame', 'category' => 'CATEGORY1'),
),
'CATEGORY 2' => array(
array('id'=> 0, 'name' => 'Mile', 'category' => 'CATEGORY2'),
array('id'=> 1, 'name' => 'Mike', 'category' => 'CATEGORY2'),
array('id'=> 2, 'name' => 'Matt', 'category' => 'CATEGORY2'),
)
);
$post='CATEGORY 1';
$elements=$data[$post];
$names=array();
foreach ($elements as $ele) {
$names[]=$ele['name'];
}
print_r($names);
下面的代码将帮助您解决问题
<?php
$data = array(
'CATEGORY 1' => array(
array('id'=> 0, 'name' => 'John', 'category' => 'CATEGORY1'),
array('id'=> 1, 'name' => 'Jack', 'category' => 'CATEGORY1'),
array('id'=> 2, 'name' => 'Jame', 'category' => 'CATEGORY1'),
),
'CATEGORY 2' => array(
array('id'=> 0, 'name' => 'Mile', 'category' => 'CATEGORY2'),
array('id'=> 1, 'name' => 'Mike', 'category' => 'CATEGORY2'),
array('id'=> 2, 'name' => 'Matt', 'category' => 'CATEGORY2'),
)
);
$post='CATEGORY 1';
$elements=$data[$post];
$names=array();
foreach ($elements as $ele) {
$names[]=$ele['name'];
}
print_r($names);
简单地使用foreach
就像
$result = [];
foreach($data as $value){
foreach($value as $k => $v){
if($v['category'] == 'CATEGORY1')
$result[] = $v['name'];
}
}
print_r($result);
简单地使用foreach
就像
$result = [];
foreach($data as $value){
foreach($value as $k => $v){
if($v['category'] == 'CATEGORY1')
$result[] = $v['name'];
}
}
print_r($result);
只需使用foreach
loop@Uchiha谢谢,我已经试过了,但不知道在foreach中把条件放在哪里,类别是category1…只需使用foreach
loop@Uchiha谢谢,我已经试过了,但是我不知道在foreach中把条件放在哪里,类别是category1。。。
$result = [];
foreach($data as $value){
foreach($value as $k => $v){
if($v['category'] == 'CATEGORY1')
$result[] = $v['name'];
}
}
print_r($result);