У меня проблема с моим кодом, и, надеюсь, кто-то сможет это выяснить. Основная цель - отсортировать массив по его значению (затем переиндексировать его числовой ключ) .
Я получил этот образец имени файла:
$filename = array("index 198.php", "index 192.php", "index 144.php", "index 2.php", "index 1.php", "index 100.php", "index 111.php");
$alloutput = array(); //all of index in array
foreach ($filename as $name) {
preg_match('#(\d+)#', $name, $output); // take only the numerical from file name
array_shift($output); // cleaned. the last code create duplicate numerical in $output,
if (is_array($output)) {
$alloutput = array_merge($alloutput, $output);
}
}
//try to check the type of every value in array
foreach ($alloutput as $output) {
if (is_array($output)) {
echo "array true </br>";
} elseif (is_int($output)) {
echo "integer true </br>";
} elseif (is_string($output)) { //the numerical taken from filename always resuld "string".
echo "string true </br>";
}
}
вывод этого кода будет:
массив
(
[0] => 198
[1] => 192
[2] => 144
[3] => 2
[4] => 1
[5] => 100
[6] => 111
)
У меня есть тестирование каждого выхода в массиве. Это все строки (а не числовые) , поэтому вопрос заключается в том, как изменить эту строку на целое, чтобы я мог отсортировать ее из самого младшего в наибольшее число ?
основное назначение этого кода - как вывести массив там, где он был отсортирован от минимального к максимальному?