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没问题-我注意到你还没有接受任何问题的答案。请访问并阅读关于如何接受问题答案的部分-这对你(第一次接受答案将获得徽章)和回答者(因其获得声誉)都有好处