Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 在数组键中查找num值_Php_Arrays_Codeigniter - Fatal编程技术网

Php 在数组键中查找num值

Php 在数组键中查找num值,php,arrays,codeigniter,Php,Arrays,Codeigniter,//我有这样的数组: $roms = array ( [1] => 2 [2] => 4 [6] => 2 [7] => 7 ) $total_rooms = 2; // array value $total_rooms = 4; // array value $total_rooms = 2; // array value $total_rooms = 7; // not array value : becos no ID in keys //我有如下数

//我有这样的数组:

$roms = array (

[1] => 2
[2] => 4
[6] => 2
    [7] => 7

)
$total_rooms = 2; // array value
$total_rooms = 4; // array value
$total_rooms = 2; // array value
$total_rooms = 7; // not array value : becos no ID in keys
//我有如下数据表:

ID               room             total_room

1                 1b/1b             7

2                 2b/2b             12

6                 3b/ 2b            32

8                 3b/3b             7
//当我查询结果时

$total_rooms   = 0 ;

foreach( $query->result() as $row ) 
{

    if  ( $row->ID , array_keys($rooms) ) :
        $total_rooms[] = array_values( $rooms ); // from array values
    else:
        $total_rooms[] = $row->total_room;  // from table
    endif;

}
//我想要这样的结果:

$roms = array (

[1] => 2
[2] => 4
[6] => 2
    [7] => 7

)
$total_rooms = 2; // array value
$total_rooms = 4; // array value
$total_rooms = 2; // array value
$total_rooms = 7; // not array value : becos no ID in keys
但是这个代码不适合我


有人能帮帮我吗?

如果你的if语句和下面的行有点奇怪,试试这个:

if(array_key_exists($row->ID, $rooms)) :
    $total_rooms[] = $rooms[$row->ID]; // from array
else:
    $total_rooms[] = $row->total_room;  // from table
endif;
注意:您每次都为
$total\u rooms
分配一个新的数组键,您确定不希望它只是一个常规的旧变量吗?见:

$total_rooms = $rooms[$row->ID]; // from array

如果数组键存在,它将从数组返回结果,否则它将使用数据库表信息。我如何才能获得$total_rooms的数量而不是数组?不确定你的意思抱歉,请尝试上面的代码,看看它对你有何帮助。@SherAh没问题-我注意到你还没有接受任何问题的答案。请访问并阅读关于如何接受问题答案的部分-这对你(第一次接受答案将获得徽章)和回答者(因其获得声誉)都有好处