Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在一个键中查找一个值,然后在多维数组中获取另一个键的值_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP在一个键中查找一个值,然后在多维数组中获取另一个键的值

PHP在一个键中查找一个值,然后在多维数组中获取另一个键的值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,可能是个新手问题,但我一直在努力解决这个问题,这让我头疼不已 我有以下数组: [0] => Array ( [provisionalBookingRoomID] => 1 [totalSpecificRoomCount] => 2 ) [1] => Array ( [provisionalBookingRoomID] => 2 [totalSpecificRoomCount]

可能是个新手问题,但我一直在努力解决这个问题,这让我头疼不已

我有以下数组:

[0] => Array
    (
        [provisionalBookingRoomID] => 1
        [totalSpecificRoomCount] => 2
    )

[1] => Array
    (
        [provisionalBookingRoomID] => 2
        [totalSpecificRoomCount] => 5
    )
我需要一个php函数,它在数组中搜索'temporationalBookingRoomId'的值并返回'totalSpecificRoomCount'的值

基本上如下所示

getProvisionalTotalRoomsCount($currentRoom, $arrayOfRooms);
// getProvisionalTotalRoomsCount('1', $arrayOfRooms) should return 2;
有什么想法吗?

检查一下:

getProvisionalTotalRoomsCount($currentRoom, $arrayOfRooms){
  foreach($arrayOfRooms as $key=>$value){
     if($value['provisionalBookingRoomID'] == $currentRoom){
            return $value['totalSpecificRoomCount'];
     }
  }
}
选中此项:

getProvisionalTotalRoomsCount($currentRoom, $arrayOfRooms){
  foreach($arrayOfRooms as $key=>$value){
     if($value['provisionalBookingRoomID'] == $currentRoom){
            return $value['totalSpecificRoomCount'];
     }
  }
}

如果您可能使用多个值,那么可以为这些属性构建一个带有1->1映射的新数组

<?php

$items = array(
    array(
        'name' => 'Foo',
        'age'  => 23
        ),
    array(
        'name' => 'Bar',
        'age' => 47
        )
);

// Php 7
$name_ages = array_column($items, 'name', 'age');
echo $name_ages['Foo']; // Output 23

// Earlier versions:
$name_ages = array();
foreach($items as $value)
{
    $name_ages[$value['name']] = $value['age'];
}
echo $name_ages['Foo']; // Output 23

如果您可能使用多个值,您可以为这些属性构建一个带有1->1映射的新数组

<?php

$items = array(
    array(
        'name' => 'Foo',
        'age'  => 23
        ),
    array(
        'name' => 'Bar',
        'age' => 47
        )
);

// Php 7
$name_ages = array_column($items, 'name', 'age');
echo $name_ages['Foo']; // Output 23

// Earlier versions:
$name_ages = array();
foreach($items as $value)
{
    $name_ages[$value['name']] = $value['age'];
}
echo $name_ages['Foo']; // Output 23

对于寻找通用函数的任何人:

function findValueInArray($array, $searchValue, $searchKey, $requiredKeyValue) {
    foreach($array as $key=>$value){
        if($value[$searchKey] == $searchValue){
            return $value[$requiredKeyValue];
        }
    }
}

// Usage : findValueInArray($provisionalBookedRoomsArray, '1', 'provisionalBookingRoomID', 'totalSpecificRoomCount');

对于寻找通用函数的任何人:

function findValueInArray($array, $searchValue, $searchKey, $requiredKeyValue) {
    foreach($array as $key=>$value){
        if($value[$searchKey] == $searchValue){
            return $value[$requiredKeyValue];
        }
    }
}

// Usage : findValueInArray($provisionalBookedRoomsArray, '1', 'provisionalBookingRoomID', 'totalSpecificRoomCount');