[英]Return array key by value given (month given to return a date)
我有一個帶鍵的PHP多維數組,並且數組下有日期。
Array (
[123] => Array
(
[one] => 2016-01-22 10:32:15
[two] => 2016-02-21 14:24:15
[three] => 2016-02-12 11:00:15
)
[553] => Array
(
[one] => 2016-03-22 10:32:15
[two] => 2016-02-21 14:24:15
[three] => 2016-08-12 11:00:15
)
)
我需要按給定的月份領取鑰匙。 例:
$value = '2016-02';
return 123 -> 2
return 552 -> 1
如何做到這一點的最佳方法? 謝謝。
您可以通過以下簡單方式進行操作:-
<?php
$array = Array (
'123' => Array
(
'one' => '2016-01-22 10:32:15',
'two' => '2016-02-21 14:24:15',
'three' => '2016-02-12 11:00:15'
),
'553' => Array
(
'one' => '2016-03-22 10:32:15',
'two' => '2016-02-21 14:24:15',
'three' => '2016-08-12 11:00:15'
)
);
$value = '2016-02';
$final_data = array();
foreach ($array as $key=> $arr){
foreach($arr as $key1=>$val){
if(strpos($val,$value)!==false){
$final_data[$key][]=$key1;
}
}
}
echo "<pre/>";print_r($final_data);
輸出: -https : //eval.in/627935
或者這也很有用:
您可以按照以下步驟簡單地進行操作。 我稍微修改一下代碼。
<?php
$date = Array (
123 => Array
(
"2016-01-22 10:32:15",
"2016-02-21 14:24:15",
"2016-02-12 11:00:15"
),
553 => Array
(
"2016-03-22 10:32:15",
"2016-02-21 14:24:15",
"2016-08-12 11:00:15"
)
);
$givenDate = "2016-02";
$givenMonth = explode("-",$givenDate)[1];
foreach ($date as $key => $value){
foreach ($value as $k => $v){
$d = explode(" ", $v);
$d = explode("-", $d[0]);
if($d[1] ==$givenMonth ){
echo $key."=>".$k."<br/>";
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.