Làm cách nào để chuyển đổi tất cả các giá trị trong một mảng thành chữ thường trong PHP?Làm thế nào để chuyển đổi các giá trị mảng thành chữ thường trong PHP?
Giống như array_change_key_case
?
Làm cách nào để chuyển đổi tất cả các giá trị trong một mảng thành chữ thường trong PHP?Làm thế nào để chuyển đổi các giá trị mảng thành chữ thường trong PHP?
Giống như array_change_key_case
?
sử dụng array_map()
:
$yourArray = array_map('strtolower', $yourArray);
Bạn có thể sử dụng array_map(), thiết lập các thông số đầu tiên 'strtolower (bao gồm dấu ngoặc kép) và tham số thứ hai đến $ lower_case_array.
array_map()
là phương pháp chính xác. Tuy nhiên, nếu bạn muốn chuyển đổi các giá trị mảng cụ thể hoặc tất cả giá trị mảng thành chữ thường, bạn có thể sử dụng strtolower()
.
for($i=0; $i < count($array1); $i++) {
$array1[$i] = strtolower($array1[$i]);
}
Chỉ cần cho đầy đủ: bạn cũng có thể sử dụng array_walk
:
array_walk($yourArray, function(&$value)
{
$value = strtolower($value);
});
Từ PHP docs:
Nếu gọi lại cần được làm việc với các giá trị thực tế của mảng, chỉ định tham số đầu tiên của gọi lại làm tham chiếu. Sau đó, bất kỳ thay đổi nào được thực hiện cho các yếu tố đó sẽ được thực hiện trong chính mảng gốc.
Hoặc trực tiếp qua foreach
loop sử dụng references:
foreach($yourArray as &$value)
$value = strtolower($value);
Lưu ý rằng hai phương pháp này thay đổi mảng "tại chỗ", trong khi array_map
tạo và trả về một bản sao của mảng, mà có thể không được mong muốn trong trường hợp các mảng rất lớn.
array_change_value_case
bởi tiếp tục
function array_change_value_case($array, $case = CASE_LOWER){
if (! is_array($array)) return false;
foreach ($array as $key => &$value){
if (is_array($value))
call_user_func_array(__function__, array (&$value, $case)) ;
else
$array[$key] = ($case == CASE_UPPER)
? strtoupper($array[$key])
: strtolower($array[$key]);
}
return $array;
}
$arrays = array (1 => 'ONE', 2=> 'TWO', 3 => 'THREE',
'FOUR' => array ('a' => 'Ahmed', 'b' => 'basem',
'c' => 'Continue'),
5=> 'FIVE',
array('AbCdeF'));
$change_case = array_change_value_case($arrays, CASE_UPPER);
echo "<pre>";
print_r($change_case);
Array ( [1] => one [2] => two [3] => three [FOUR] => Array ( [a] => ahmed [b] => basem [c] => continue ) [5] => five [6] => Array ( [0] => abcdef ) )
Nếu bạn muốn thành chữ thường tất cả các giá trị trong một lồng nhau mảng , sử dụng đoạn mã sau:
function nestedLowercase($value) {
if (is_array($value)) {
return array_map('nestedLowercase', $value);
}
return strtolower($value);
}
Vì vậy:
[ 'A', 'B', ['C-1', 'C-2'], 'D']
sẽ trở lại:
[ 'a', 'b', ['c-1', 'c-2'], 'd']
yêu em, yêu em, yêu em –