The array looks like this:
array( array(5, true, 'Foo'), array(8, true, 'Bar'), array(8, true, 'FooBar'), )
Can I determine the longest string length of the 3rd column, without having to iterate over the array?
In my example the longest string would be “FooBar” – 6 chars.
If the inner array had only the string element, I could do max(array_map('strlen', $arr))
, but it has 3 items…
Advertisement
Answer
Add array_map('array_pop', $arr)
to the mix:
<?php $arr = array( array(5, true, 'Foo'), array(8, true, 'Bar'), array(8, true, 'FooBarss') ); print_r(max(array_map('strlen', array_map('array_pop', $arr)))); ?>
Gives 8
(after I added the two ss
to check). array_pop()
takes the last array element off and returns it, use array_shift()
to get the first.