你会得到一个字符串数组。您必须将给定数组中出现的所有字符串更改为大写,无论当前是哪种情况。打印结果数组。
例子
1 2 3 4 5 | Input : arr[] = ("sky8g", "good", "it") Output : Array ([0]=>SKY8G [1]=>GOOD [2]=>IT) Input : arr[] = ("sky8g") Output : Array ([0]=>SKY8G) |
要解决这个问题,一种基本的方法是迭代所有的输入数组字符串,然后将它们改为大写的一个,并打印它们。在数组上迭代可以很好地利用程序中的for循环,这可以通过使用array_change_key_case()和array_flip()等智能方法来避免。我们要做的就是将数组键转换为值,反之亦然,然后改变数组的新键的情况这实际上改变了原始字符串值的情况然后再通过array_flip()来翻转键和值。
下面是一步一步的过程:
- 使用array_flip()函数与数组中的值交换键。也就是说,键现在将成为值,它们各自的值将成为它们的新键。
- 使用array_change_key_case()函数来更改当前键(原始值)的大小写。
- 再次使用array_flip()函数来翻转要获取的数组的键和值原始数组,其中字符串值为大写。
下面是上述方法在PHP中的实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php // Program to change strings in an array to upper case $input = array("Practice", "ON", "sky8g", "is best"); // print array before conversion of string print"Array before string conversion:\n"; print_r($input); // Step 1: flip array key => value $input = array_flip($input); // Step 2: change case of new keys to upper $input = array_change_key_case($input, CASE_UPPER); // Step 3: reverse the flip process to // regain strings as value $input = array_flip($input); // print array after conversion of string print"\nArray after string conversion:\n"; print_r($input); ?> |
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Array before string conversion: Array ( [0] => Practice [1] => ON [2] => SKY8G [3] => is best ) Array after string conversion: Array ( [0] => PRACTICE [1] => ON [2] => SKY8G [3] => IS BEST |