|
array_pop
Pop the element off the end of array
(PHP 4, PHP 5)
Example 269. array_pop() example<?php
After this, Array
and Related Examples ( Source code ) » array_pop Examples ( Source code ) » String match for domain name Examples ( Source code ) » array_pop Pop the element off the end of array Examples ( Source code ) » array_pop: Pop the element off the end of array Examples ( Source code ) » Stack in Use Examples ( Source code ) » Generating XML from PHP Code Examples / Notes » array_pop15-dec-2004 04:29
strrchr is a lot more useful than the other example using array_pop for finding the extension of a file. For example: <?php $ext = strrchr($filename, "."); ?> $ext will contain the extension of the file, including a ".", if the file has an extension, and FALSE if the file has no extension. If the file has multiple extensions, such as "filename.tar.gz", then this construction will just return the last extension. eddie
Quick way to get the extension from a file name using array_pop: $ext = array_pop(explode(".",$filename)); rmondragon
In a previous example ... <?php function array_trim ( $array, $index ) { if ( is_array ( $array ) ) { unset ( $array[$index] ); array_unshift ( $array, array_shift ( $array ) ); return $array; } else { return false; } } ?> This have a problem. if u unset the last value and then use <? array_unshift ( $array, array_shift ( $array ) ); ?> will return a : Array ( [0] => ) so u can fix it using... <?php if (count($array) > 0) array_unshift ( $values, array_shift ( $values ) ); ?> good luck ;) doyley3731
I had a problem when using this function because my array was made up entirley of numbers, so I have made my own function. Hopefully it will be useful to somebody. function array_trim_end($array){ $num=count($array); $num=$num-1; unset($array[$num]); return $array; } 21-oct-2003 09:46
Be aware that using array_pop on an associative array that uses a numeric string as a key changes the key: <?php $stack= array("12" => "green", "54" => "brown", "672" => "blue"); print_r($stack); $fruit = array_pop($stack); print_r($stack); ?> Results of execution: Array ( [12] => green [54] => brown [672] => blue ) Array ( [0] => green [1] => brown ) However, if there is a non-numeric character in the key, the key will be maintained: <?php $stack= array("g1" => "green", "b1" => "brown", "b2" => "blue"); print_r($stack); $fruit = array_pop($stack); print_r($stack); ?> Results of execution: Array ( [g1] => green [b1] => brown [b2] => blue ) Array ( [g1] => green [b1] => brown ) alex dowgailenko
array_pop() can be usefull for fetching extentions of files, especially in cases where there might be more than one period in the filename. eg: <?php $filename = "textfile.txt.bak"; $tmp = explode(".", $filename); $ext = array_pop($tmp); print_r($ext); // Shows "bak" ?> alex chacón
alex.chacon@terra.com Hi Here there is a function that delete a elemente from a array and re calculate indexes <?php function eliminarElementoArreglo ($array, $indice) { if (array_key_exists($indice, $array)) { $temp = $array[0]; $array[0] = $array[$indice]; $array[$indice] = $temp; array_shift($array); //reacomodamos índices for ($i = 0 ; $i < $indice ; $i++) { $dummy = $array[$i]; $array[$i] = $temp; $temp = $dummy; } } return $array; } ?> 30-mar-2004 10:55
A function to delete an array value that recalculates the index ( its very short and easy to understand ). Hope this might help someone... <?php /* Usage: $array : Array $indey : Integer The value of $array at the index $index will be deleted by the function. */ function array_trim ( $array, $index ) { if ( is_array ( $array ) ) { unset ( $array[$index] ); array_unshift ( $array, array_shift ( $array ) ); return $array; } else { return false; } } ?> ryan8613
A function that may help some out, considering it's pretty much the one mentioned previously... <?php function array_trim($arr, $indice) { if(!isset($indice)) { $indice = count($arr)-1; } unset($arr[$indice]); array_shift($arr); return $arr; } ?> It cuts the given index value off of the array, but without the shift, if the 'index' value isn't given, it cuts off the end value. |
Change Languagearray_change_key_case array_chunk array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique array_unshift array_values array_walk_recursive array_walk array arsort asort compact count current each end extract in_array key krsort ksort list natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort |