Kablammo! Взрывать функции, причиняя мне головную боль! - PullRequest
1 голос
/ 03 октября 2008
$array = explode(".", $row[copy]);
$a = $array.length -1;

Я хочу вернуть последний элемент этого массива, но все, что я получаю, это -1. Помощь будет высоко ценится.

Ответы [ 9 ]

9 голосов
/ 03 октября 2008

Вы также можете использовать:

$ a = end ($ array);

Это также устанавливает внутренний указатель массива на конец массива, но он легко дает вам последний элемент.

7 голосов
/ 03 октября 2008

Попробуйте считать :

$array = explode(".", $row[copy]);
$a = count($array) - 1;
$array[$a]; // last element
3 голосов
/ 03 октября 2008

Вы также можете использовать array_pop () . Эта функция принимает массив, удаляет последний элемент массива и возвращает этот элемент.

$array = explode(".", $row[copy]);
$a = array_pop($array);

Это изменит массив $, удалив последний элемент, поэтому не используйте его, если вам все еще нужен массив для чего-либо.

1 голос
/ 03 октября 2008

На самом деле, есть функция, которая делает именно то, что вы хотите: end ()

$ res = end (explode ('.', $ Row ['copy']));

1 голос
/ 03 октября 2008

Если вы просто хотите все после финала. ты можешь попробовать

$pos = strrpos($row['copy'], '.');
$str=($pos!==false) ? substr($row['copy'],$pos+1) : '';

Это сохраняет генерацию массива, если все, что вам нужно, был последний элемент.

0 голосов
/ 26 июня 2009

привет, вы также можете использовать это:

$ stack = array ("orange", "banana", "apple", "raspberry"); $ fruit = array_pop ($ stack); print_r ($ стеки);

После этого $ stack будет иметь только 3 элемента:

Массив ( [0] => оранжевый [1] => банан [2] => яблоко )

и малина будет назначена на $ fruit.

0 голосов
/ 03 октября 2008

Поскольку это тег PHP, я предполагаю, что вы используете PHP, если это так, то вы захотите сделать:

$array = explode(".", $row[copy]);
$a = count($array) - 1;
$value = $array[$a];

Но это будет работать, только если ваши ключи числовые и начинаются с 0.

Если вы хотите получить последний элемент массива, но у вас нет цифровых клавиш или они не начинаются с 0, тогда:

$ array = explode (".", $ Row [copy]); $ revArray = array_reverse ($ array, true); $ value = $ revArray [key ($ revArray)];

0 голосов
/ 03 октября 2008

Мой PHP немного ржавый, но не должен ли он быть таким:

$array = explode(".", $row[$copy]);
$a = $array[count($array)];

Т.е.: не пропущен ли «$» перед «копией», и действительно ли .length работает?

0 голосов
/ 03 октября 2008

Я думаю, что ваша вторая строка должна быть больше похожа на:

$index = count($array) - 1;
$a = $array[$index];

Если вам нужен элемент из массива, вам нужно использовать квадратные скобки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...