I wrote a function that changes an index array value on the left. It looks like:
function index_shift ($ array, $ index) {$ n = count ($ array) - 1; ($ I = $ n; $ i & gt; = $ index; $ i -) $ $ array [$ i + 1] = $ array [$ i]; } Print_r ($ array); } $ Array_one = array ("A", "B", "C", "D", "E", "F", "G"); Index_shift ($ array_one, 3); Echo "
"; Print_r ($ array_one); I put the first print_r in the function to see if it works. This does, indicates that the values have been moved to the left ( D is on the fourth and fifth index, all values are taken). But the second print_r outside the function shows that the array is not modified. It looks like a function works, but it does not modify the array. Maybe I'm & amp; should be used?
You are passing an array. If you want to modify the array, then you have to pass the reference of the array:
function index_shift (& $ array, $ index) {$ n = count ($ array) - 1; ($ I = $ n; $ i & gt; = $ index; $ i -) $ $ array [$ i + 1] = $ array [$ i]; } Print_r ($ array); } Here is a link about context through context & amp;:
No comments:
Post a Comment