Então eu estou estudando PHP
pela codecademy, e passei por um dos desafios fazendo um código meio que aleatório, será que alguém poderia me explica a ultima linha deste código?
<?php
$name = "Lucas";
$lenght = strlen($name);
$rand = rand(0, $lenght -1);
print substr($name, $rand, 1);
?>
Que tal você colocar o que entendeu e nós comentamos o quão perto você está da resposta correta? Assim fica mais interessante.
Se você executou o código, viu o resultado dele. A partir do resultado (executando mais de uma vez), pode deduzir o que acontece.
Por exemplo, o que faz a função rand() ? Você já pesquisou? E a strlen() ? E substr()? print() ? Após cada execução, o valor de $lenght permanece o mesmo, ou muda? E o da variável $rand?
Abraço.
<?php
$name = "Lucas"; // Armazenei meu nome em uma variavel
$length = strlen($name); // Peguei a quantidade de caracteres do meu nome, e salvei na variável
//$lenght
?>
$rand = rand (0, $lenght -1); //A função rand é imprimir ou salvar um numero aleatório de acordo com o parâmetro(eu acho que é isso) que foi passado, então aqui estou salvando na variável $rand um caractere do meu nome que começa pode estar na posição 0 e vai até a a ultima.
print substr($name, $rand, 1); // Aqui eu sei que estou imprimindo uma substring, mas não entendi muito bem a parte dentro dos parenteses…
Não sei se estou certo do que estou falando mas basicamente foi o que eu entendi até agora.
É bem simples.
O primeiro parâmetro é a string que você que pegar só uma parte, o segundo parâmetro é a partir de qual posição você que começar. O terceiro parâmetro é opcional, se for positivo é a quantidade de caracteres que a substring deve possuir, se for negativo é a quantidade de caracteres que a substring deve ocultar. Recomendo ler a documentação: http://php.net/manual/pt_BR/function.substr.php
Alguns exemplos:
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
2 curtidas