johnnypm 0 Denunciar post Postado Dezembro 1, 2004 Estou iniciando em php e estou tentando entender como funciona as classes de php. Estou estudando o seguinte código retirado do romano chat (global.php) do phpbrasil: -gostaria de saber qual a função do "var" no inicio do codigo? -o que faz o comando "array_splice"? pois procurei no phpbrasil, no php.net e no imasters , mas nao consegui entender o que ele faz nestes scripts, se você puder me exclarecer eu agradeço, brigadao. --------------------------------------------------------------- <?php $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, 2); // $input será agora array("vermelho", "verde") $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, 1, -1); // $input será agora array("vermelho", "amarelo") $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, 1, count($input), "laranja"); // $input será agora array("vermelho", "laranja") $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, -1, 1, array("preto", "marrom")); // $input será agora array("vermelho", "verde", "azul", "preto", "marrom") $input = array("vermelho", "verde", "azul", "amarelo"); array_splice($input, 3, 0, "roxo"); // A array $input agora é ("vermelho", "verde", // "azul", "roxo", "amarelo"); ?> ------------------------------------------------------------------ class chat{ var $users; var $msgs; var $perfil; var $tmsgs; var $timer; function removeuser($nome){ $str=time()+60; $str.="||||"; $str.=$this->perfil[$nome]." sai da sala|saida"; $this->addmsgs($str); unset($this->users[$nome]); unset($this->perfil[$nome]); unset($this->tmsgs[$nome]); } function adduser($nome){ // verifica se a variavel nome do usuario ($this->users[$nome]) existe if(!isset($this->users[$nome])){ // coloca o time dentro da variavel $str $str=time()+60; // coloca "||||" dentro da variavel $str $str.="||||"; // coloca perfil do usuario ($this->perfil[$nome]) dentro da variavel $str $str.=$this->perfil[$nome]." entra na sala|entra"; // manda $this->addmsgs($str); $this->users[$nome]=time()+60; $this->tmsgs[$nome]=0; }else{ $this->users[$nome]=time()+60; } } function addmsgs($str){ array_splice($this->msgs,100,100,$str); } function atualiza(){ if(empty($this->timer)){ $this->timer=time()+120; }//fim if if($this->timer < time()){ $this->timer+=60; $k=0; for($i=0;$i < sizeof($this->msgs);$i++){ $pieces=explode("|",$this->msgs[$i]); if($pieces[0] < time()){ $k++; } } array_splice($this->msgs,0,$k); $keys=array_keys($this->users); for($i=0;$i < sizeof($keys);$i++){ if($this->users[$keys[$i]] < time()){ $this->removeuser($keys[$i]); } } }//fim if } } $file_name = 'chat.txt'; $resultado = ler_arquivo($file_name); if(!isset($resultado["sala"])){ $resultado["sala"]=new chat; $resultado["sala"]->msgs[0]="0||||"; } valeu galera Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Dezembro 1, 2004 bom... o 'var' você usa definir as variáveis q você irá criar/usar numa classe.. do mesmo modo, se você quizer usar uma variável q jah foi definida antes tem q usar 'global'.. jah o array_splice.. serve pra remover itens de um array... no manual explica direitinho.. eh soh olhar os exemplos! array_splice Compartilhar este post Link para o post Compartilhar em outros sites