Получить значения массива отдельно
у Меня есть страница, в которой мне показывает текстовые поля должны быть заполнены(inputs), содержащие "+" в том же, чтобы, если пользователь вам нужно больше форм для заливки..
код из ввода формы, который принимает значения, введенного пользователем, таким образом:
Nome completo:<input name="nomeCompleto[]" id="nomeCompleto" type="text">
Принимая во внимание, что "nomeCompleto[]"
имею в виду массив, поэтому я сделал так, что мой PHP-код, получил значения с помощью $_POST
, такое, образом:
if(isset($_POST['nomeCompleto'])){
foreach($_POST["nomeCompleto"] as $nameC)
{
echo " => " . $nameC . "<BR>";
}
Таким образом, приведенный выше код возвращает мне такие значения:
=> João
=> Fernando
=> Jacinto Ades Graça Vindo
=> Lucas
Array ( [0] => João [1] => Fernando [2] => Jacinto Ades Graça Vindo [3] => Lucas )
значения с помощью "=>"
значения, которые были введены в inputs пользователем, с php я сделал, что такие значения передавались в массив, таким образом, отсортированы, и определить таким образом. И с "count"
php, я могу посчитать, сколько элементов есть мой массив, поэтому он меня выводит на экран значение "4"
, почему существует 4 значения(начиная с 0 до 3).
код полностью возвращает мне значения, введенные выше стоял таким образом:
if(isset($_POST['nomeCompleto'])){
foreach($_POST["nomeCompleto"] as $nameC)
{
echo " => " . $nameC . "<BR>";
}
?><br /><?php
print_r(($_POST["nomeCompleto"]));// aqui ele me retorna os valores do array e suas respectivas posições( [0] => João [1] => Fernando...)
?><br /><?php
$count = count($_POST["nomeCompleto"]); // aqui ele realiza a contagem do array via $_POST
printf($count); // aqui ele me retorna o valor "4" que é a quantidade de 'itens' que compõe meu array.
?><br /><?php
print_r($nameC); /*coloquei esse print_r pra ver o que ele me retornaria apenas com a variável $nameC.. e aqui ele me retorna apenas o ultimo valor do array, que seria "Lucas", cá esta um erro */
?><br /><?php
}
первый вопрос: "
"echo " => " . $nameC . "<BR>";
", он возвращает мне значения переменной $nameC
таким образом:
=> João
=> Fernando
=> Jacinto Ades Graça Vindo
=> Lucas
, Однако, что, когда я "print_r($nameC);"
он возвращает только "Lucas"
? и не все имена.. (радость, если printf
print_r
echo
)
сомнений в том, как я могу получить такие значения, отдельно внутри цикла? Следуя такой логике, в корпус:
while($i=0;$i<$count;$i++){
printf($nameC[$i]);
}
Примечание.: переменная "$nameC"
- это переменная, которую я instanciei власти, чтобы выделить значения в массив(в случае, если массив поставляется с веб-страницы, используя $_POST
я вытащил значения и назначает таких, как эта переменная
Примечание.: Обязательно должен быть, а почему это регулирует все повторение сценария..
проблема такой вопрос, в бизнес-цикл, который отправил, он мне вернет что-то вроде:
1 = L
2 = u
3 = c
4 = a
И в случае, если я не хотел именно, что он сделает чтение массива таким образом, что так он та только чтение последнего элемента массива, значение, значение(буква за буквой), и я, показывая на экране в своих позиций.
В случае, если я хотел бы напечатать такой вид:
1 = João
2 = Fernando
3 = Jacinto....
4 = Lucas
Это с помощью цикла, какой будет логика, для тебя это быть достигнуто?
1 answers
Формы ниже, все сведения будут отображаться правильным образом:
<?php
$nomes = Array("João Paulo", "Maria Silva", "José Santos", "Pedro Matoso");
foreach($nomes as $nameC)
{
echo " => " . $nameC . "<BR>";
}
?><br /><?php
print_r($nomes);// Irá mostrar tudo o que estiver dentro do array
?><br /><?php
$count = count($nomes); // Irá realizar a contagem através da variável definida
printf($count); // Retornará a quantidade de posições do array.
?><br /><?php
print_r(reset($nomes)); /*cAqui irá retornar a primeira posição do array devido ao uso do reset */
?><br /><?php
?>
Вывод этого кода будет:
=> João Paulo
=> Maria Silva
=> José Santos
=> Pedro Matoso
Array ( [0] => João Paulo [1] => Maria Silva [2] => José Santos [3] => Pedro Matoso )
4
João Paulo
См пример функциональной phpfiddle.
, Как мы говорим, в комментариях этого поста, все взаимодействие с переменной $nomeC
должно быть сделано в рамках foreach
.
<?php
$nomes = Array("João Paulo", "Maria Silva", "José Santos", "Pedro Matoso");
foreach($nomes as $nameC)
{
echo " => " . $nameC . "<BR>";
echo ($nameC . "<br>");
var_dump($nameC . "<br>");
echo ("<hr>");
}
?>
Понял, что вы пытаетесь получить доступ к позиции переменной for foreach
:
printf($nameC[1]);
Это переменная, после выхода болью foreach
имеет только одну позицию, которая бы последнее имя из списка array
первичного.
Если вы хотите напечатать ряд перед его именем, используйте, как показано ниже:
foreach($nomes as $nameC)
{
echo $contador . " => " . $nameC . "<BR>";
echo ($nameC . "<br>");
var_dump($nameC . "<br>");
echo ("<hr>");
$contador++;
}
Выход будет:
1 => João Paulo
João Paulo
string(15) "João Paulo
"
2 => Maria Silva
Maria Silva
string(15) "Maria Silva
"
3 => José Santos
José Santos
string(16) "José Santos
"
4 => Pedro Matoso
Pedro Matoso
string(16) "Pedro Matoso
"