檢查數組
$allow = array(
"pdf"=>"application/pdf",
"doc"=>"application/msword",
"docx"=>"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"docx"=>"application/zip" // this will be overridden by above index.
);
if(in_array("application/vnd.openxmlformats-officedocument.wordprocessingml.document",$allow)){
echo "true";
}else{
echo "false";
}
你的陣列具有相同的密鑰,DOCX,所以最後一個會被舊的覆蓋。
在你的情況
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
overriden by "application/zip"
編輯
$allow = [
"pdf"=>"application/pdf",
"doc"=>"application/msword",
"docx"=>[
"docx"=>"application/zip",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"]
];
而且條件會。
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
echo in_array_r("application/vnd.openxmlformats-officedocument.wordprocessingml.document", $allow) ? 'true' : 'false';
我參考了link。
你不能定義與相同密鑰的兩個數組元素,如果使用相同的密鑰兩個數組元素則最新的一個覆寫以前 –
我有不同的MIME兩種文件DOCX,如何讓他們兩個? –
@AbuAyyub:docx1,docx2 ?? –