这是数组
$country_codes_with_euro_currency = array( 'AT', 'BE', 'CY', 'DE', 'EE', 'GR', 'ES', 'FI', 'FR', 'IE', 'IT', 'LU', 'MT', 'NL', 'PT', 'SI', 'SK' );
例如$result = 'at';
然后
if ( in_array(trim($result), $country_codes_with_euro_currency) ) {
echo $currency_code = 'EUR';
}
输出什么都不是。需要$result = 'AT';
所以想同时检查大写和小写,但不想手动重写小写数组。
创建了这样的代码
$country_codes_with_euro_currency = array_merge( $country_codes_with_euro_currency, (array_map('strtolower', $country_codes_with_euro_currency)) );
有没有更好(更短)的解决方案?
...关于标记为重复只想通知我不问如何将大写转换为小写。在我的代码中已经使用了strtolower
. 我展示了我如何获得结果的方式。并要求更好的方法来获得相同的结果
最终解决方案
实际上对于这种情况,一个简单的解决方案。
保持$country_codes_with_euro_currency
原样(大写)。
简单地说$result = strtoupper(trim($result));
。
接着if ( in_array(trim($result), $country_codes_with_euro_currency) )
拜托,PHP 在哪里包含toupper 和 tolower 函数?是这样的答案(标记为重复)吗?我找不到...