Очищення комбінованого рнр масиву від порожніх елементів

Очищення комбінованого рнр масиву від порожніх елементів
Буває необхідно очистити РНР масив від порожніх елементів для того щоб даремно не витрачати час на обробку цих порожніх елементів! Це завдання не є складною коли потрібно відфільтрувати звичайний, не багатовимірний масив але, вона ускладнюється коли потрібне очищення від порожніх елементів комбінованого РНР масиву.

Наприклад ми відкрили файл і помістили всі його рядки в РНР масив і залишили в ньому тільки унікальні значення за допомогою РНР функцій:

Якщо у файлі "$ proxyListFile" було з десяток порожніх рядків, то після його відкриття в ньому залишилися як мінімум один порожній рядок, а якщо були рядки з різною кількістю прогалин, то і вони зависнуть в результаті "$ proxyListArray".

Найпростіший спосіб очищення РНР масиву від порожніх елементів це:

Але він може не підійти через наявність прогалин в елементах, мало тога - нам би бажано зберегти порядкові номери РНР масиву 1,2,3,4, а не 1,3,4. В такому випадку можна запропонувати конструкцію:

Але, така РНР конструкція далека від досконалості і не підійде для очищення асоціативних або багатовимірних масивів! Наприклад у нас є такий ось безмежно комбінований, Чумачечая масив, він же простий (нумерований), він же асоціативний, він же багатовимірний / вкладений масив:

Виглядати все це неподобство буде наступним чином:

З усього цього беззаконня нам потрібно видалити порожні елементи РНР масиву і при цьому зберегти порядок нумерації елементів РНР масиву 1,2,3,4, а не 1,3,4 в разі видалення одного з елементів. Для обробки такого Чумачечая масиву нам відповідно потрібна така ж чумачечая функція, наведену вище РНР функцію модифікуємо до такої кондиції:

Як бачимо отримали бажаний результат без порожніх елементів в РНР масиві і зі збереженням нумерації елементів РНР масиву 1,2,3,4, а не 1,3,4 в разі видалення одного з них:

Перша РНР функція "function checkArray ($ array)" перевіряє чи є надісланий значення масивом і якщо так, то повертає нумерований РНР масив з іменами елементів, це потрібно для того щоб однаково звертатися по номерному ідентифікатором до звичайних (нумерованим) і асоціативним масивів.

Друга РНР функція "function cleanArray ($ array)" власне видаляє елементи РНР масиву з порожніми значеннями, яка попередньо перевіряє ідентифікатор елемента (цифра або рядок) і його значення (вкладений масив або строкове значення). Асоціативні елементи РНР масиву просто видаляються функцією "unset ($ array [$ a]);", елементи масиву мають порядкові номери в якості ідентифікатора видаляються функцією "array_splice ($ array [$ a])" зі збереженням порядку нумерації елементів РНР масиву 1, 2,3,4, а не 1,3,4 в разі видалення одного з них.

Наведена вище РНР функція підходить як для очищення звичайних масивів від порожніх елементів так і для очищення багатовимірних звичайних і асоціативних масивів.