Php数组输入值和返回键
您好,我有一个Php数组输入值和返回键,php,arrays,session,key,Php,Arrays,Session,Key,您好,我有一个$\u会话[“产品”]数组,$\u会话[“产品”]打印输出是: Array ( [0] => Array ( [id] => 152 [name] => 0 [total] => 3 ) [1] => Array ( [id] => 343 [name] =>
$\u会话[“产品”]
数组,$\u会话[“产品”]
打印输出是:
Array
(
[0] => Array
(
[id] => 152
[name] => 0
[total] => 3
)
[1] => Array
(
[id] => 343
[name] => 0
[total] => 5
)
[2] => Array
(
[id] => 799
[name] => 0
[total] => 7
)
)
例如,我想在搜索id和查找主键时输出;当我写799时,输出是2或
$_SESSION["product"][2]
只需循环检查id即可。例如:
$search = 799;
foreach( $products as $key => $product ) {
if( $product[ 'id' ] == $search ) {
$item = $product;
break;
}
}
print_r( $product );
这是未测试的顺便说一句。这将打印出与id匹配的任何项目。如果您只需要密钥,请使用此项
$item = $key;
一个简单的foreach循环就可以做到这一点。当您点击所需的id
时,返回数组记录的键
$search_for = 799;
foreach($_SESSION["product"] as $key => $data) {
if($data['id'] == $search_for) {
$result = $key;
break;
}
}
if($result) {
echo 'Result is: ' . $result;
} else {
echo 'No match';
}
尚未测试,但应能正常工作:
$search = 799; // id to search
foreach($_SESSION["product"] as $key => $array) // Look through session array
{
if($array["id"] == $search) // Found your id
{
$output = $key; // Set id to variable
break; // Exit loop
}
}
echo $output; // Your output
试试这个
function getIndex($name, $array){
foreach($array as $key => $value){
if(is_array($value) && $value['id'] == $name)
return $key;
}
return null;
}
$array = Array(
array(
'id' => 152,
'name' => 0,
'total' => 3
),
array(
'id' => 152,
'name' => 0,
'total' => 3
),
array(
'id' => 799,
'name' => 0,
'total' => 7
),
);
print_r('<pre>');
print_r($array);
echo getIndex(799, $array);
函数getIndex($name,$array){
foreach($key=>$value的数组){
if(is_数组($value)&&$value['id']==$name)
返回$key;
}
返回null;
}
$array=array(
排列(
“id”=>152,
“名称”=>0,
“总计”=>3
),
排列(
“id”=>152,
“名称”=>0,
“总计”=>3
),
排列(
“id”=>799,
“名称”=>0,
“总计”=>7
),
);
印刷品(“”);
打印(数组);
echo getIndex(799美元,数组);
只需使用数组搜索()
那你试过什么。?
$i=0;
foreach($arr as $val_arr)
{
$key = array_search(799,$val_arr);
if(!empty($key))
{
echo $i; //"prints" 2
}
$i++;
}