[英]Passing array into in_array()
請考慮以下PHP:
function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);
// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);
foreach ($csv as $row)
{
$array[] = $row[$col];
}
}
如何將上述函數的結果數組傳遞到
if( in_array() ){
//code
}
?
略微縮寫的版本,但與建議的相同,是從函數返回所需的數據,但使用array_column()
提取數據...
function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);
// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);
// Pass the extracted column back to calling method
return array_column($csv,$col);
}
並使用它...
if ( in_array( "somevalue", get_ship_class() )) {
//Process
}
如果要多次使用此返回值,則可能需要將其存儲在變量中,而不是直接將其傳遞給in_array()
方法。
這是評論所暗示的答案。
function get_ship_class(){
$array = array();
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);
// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);
foreach ($csv as $row) {
array_push($array, $row[$col]);
// array_push($array, "$row[$col]"); // You may need it as a string instead.
}
return $array;
}
if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
//code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.