PHP: how can I delete empty/NULL elements from a multi-dimensional array.
Hi all
I have a file that i'm running and exec(cat ./dat) against..and putting its contents into any array, then doing an exploding the array into a multi-dimension array...
The 15 multi-dimensional arrays have elements that are null/empty, I would like to remove/unset these elements and then re-order the index/keys. i just cant seem to get anything to operate on this multi-dimensional array
when i run my code it outputs all elements...even the null/empty elements.
here is the cat'ed file contents (filename=dat)
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap2.wst1.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap1.wst1.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap1.qprvt.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap3.qprvt.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap1.sprvt.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap2.qprvt.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap3.wst1.com:389 OK Last update: today at 6:16 AM
dc=prvt,dc,dc=com mldap.wst1.com:389 sldap2.sprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap1.wst1.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap2.sprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap1.sprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap2.wst1.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap2.qprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap3.qprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap1.qprvt.com:389 OK Last update: today at 6:16 AM
o.com mldap.wst1.com:389 sldap3.wst1.com:389 OK Last update: today at 6:16 AM
thanks for the response...by you doing that it cause me to switched my train of thought...
see....what I posted on the forum, I wraped in the "TABLE" tags for clarity, whiched auto-chomped out all extra white spaces between the array element lines, leaving only a single white space between the each value in each element...
you ran the test against this...
o.com mldap.wst1.com:389 sldap1.wst1.com:389 OK Last update: today at 6:16 AM
BUT in reality the file actually looked like this (just one line)
o.com"___EXTRA WHITE SPACE__"mldap.wst1.com:389 sldap1.wst1.com:389 OK Last update: today at 6:16 AM
So, there were extra white spaces between line data that I chomped out us:ing a preg_replace statement
now my code looks like this
WHICH NOW GIVES ME THIS
root@mldap[bin]$ /opt/coolstack/php5/bin/php -f ./replcheck.php
Array
(
[0] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap2.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[1] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap1.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[2] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap1.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[3] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap3.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[4] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap1.sprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[5] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap2.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[6] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap3.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[7] => Array
(
[0] => dc=prvt,dc,dc=com
[1] => mldap.wst1.com:389
[2] => sldap2.sprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[8] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap1.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[9] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap2.sprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[10] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap1.sprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[11] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap2.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[12] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap2.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[13] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap3.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[14] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap1.qprvt.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
[15] => Array
(
[0] => o.com
[1] => mldap.wst1.com:389
[2] => sldap3.wst1.com:389
[3] => OK
[4] => Last
[5] => update:
[6] => today
[7] => at
[8] => 6:16
[9] => AM
)
Hi, I'm developing a script which contains a multi dimensional array, however for some reason the array is not iterating.
When executing the script, services are listed as arguments from argument 2. Ex voice data sms.
service=${@:2};
for services in $service
do
... (2 Replies)
I have an array of names. Each one of the name, has a number represented to it.
For example A has an ID 8, B has an ID 2.
What I am after is a for loop that when the array is in position 1, a particular variable is set to the value of position 1 in array 2
declare -a arr=("A" "B" "C"... (6 Replies)
i have an array (with each element length "n") which is dynamic and has alphanumeric characters.
i want to check if any of the elements of the array are null and replace it with a string of "n" zeros for that element.
can you suggest me a code for the same. (1 Reply)
I cant get out of this while loop at the beginning of my program. Just reading from stdin one char at a time and storing it into a multi-array. Need to fix it with in two hours.
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include... (1 Reply)
Hello,
I have two files in the following format;
file1:
A B C D
E F G H
I J K L
file2:
1 2 3 4
5 6 7 8
9 10 11 12
I have read them both in to multi-dimensional arrays. I need a file that has column 2 of the first file printed out for each column 3 of the second file ie...
... (3 Replies)
Hi All,
I'm writing a nagios check that will see if our ldap servers are in sync...
I got the status data into a nested array, I would like to search key of each array and if "OK" is NOT present, echo other key=>values in the current array to a variable
so...eg...let take the single array... (1 Reply)
PHP question...I posted this on the Web Development forum, but maybe this is a better place!
I have an SQL query that's pulled back user IDs as a set of columns. Rather than IDs, I want to use their names.
So I have an array of columns $col with values 1,7,3,12 etc and I've got an array $person... (3 Replies)
Hi,
I am writing a BASH script. My questions regard deleting elements of arrays.
I have an array:
michael-browns-powerbook-g4-15:~ msb65$ test_array=(1 2 3 4)
michael-browns-powerbook-g4-15:~ msb65$ echo ${test_array}
1 2 3 4
To delete the second element of test_array I type:... (3 Replies)