2013-04-05 2 views
0

У меня есть текстовое поле, которое выполняет итерацию 5 раз и отображает значения из текстового поля в массив.удаление последнего элемента из многомерного массива в php

<form method="post" action="test.php"> 
<?php for($i = 0; $i < 5; $i++) { 
    echo "<input type='text' name='text1[]'/>";  
    } ?> 
<input type="submit" name="confirm" value="confirm" /> 
</form> 


<?php 
    $text1 = $_POST['text1']; 
    $count= count($text1); 
    if(isset($_POST['confirm'])) { 
    for($p = 0; $p < $count; $p++) { 
     echo print_r($p[$i]); 
    } 
    } 
?> 

Я хочу, чтобы удалить последнее значение (которое является то, что повторение номер 1) из данных и отображать только имена. Выход выше выглядит следующим образом: -

John1 
Jack1 
Peter1 
Jane1 
Jill1 
+0

'substr ($ str, 0, -1)'? –

+0

Глядя на ваш пример, я не думаю, что это работает, как вы описываете. Это должно быть что-то вроде 'echo $ text1 [$ p];' вместо 'echo print_r ($ p [$ i]);' –

+0

спасибо, он работал без print_r() – deepz

ответ

2
echo print_r($p[$i]); 

print_r печатает содержание $p[$i] и возвращает 1, который передается в echo (и напечатанный рядом с желаемым выходом). Здесь не нужно print_r.

+0

спасибо за объяснение. это сработало. – deepz

0

print_r посылает $p[$i] в выходной буфер, а затем возвращает логический результат, который будет true (или 1, когда повторил выход).

Итак, решение просто не использовать print_r.

Всегда read the documentation, когда вы не уверены в чем-либо. Почти все, что вы хотите знать о PHP, можно найти там.

+0

спасибо для объяснения. я буду ссылаться на руководство php :) – deepz

Смежные вопросы