red_foot 0 Denunciar post Postado Junho 18, 2012 Pessoal boa noite É o seguinte. Estou queimando a cabeça aqui faz alguns dias já. Já pesquisei na web,inclusive aqui no forum mesmo já revirei e tentei inúmeras dicas encontradas aqui, já tentei inumeras outras formas de conversão no lugar desta porém tudo em vão. Estou com o seguinte erro: Warning: split() expects parameter 2 to be string, array given in /home2/site/public_html/includes/funcoes.php on line 124, na página onde chamo a função. na funcoes.php na função tenho: 122 function convertData ($data) { 123 124 $dataN = split("/", $data); 125 126 $dataN = mktime(00,00,00, $data[1], $data[0], $data[2]); 127 128 return $dataN; 129 130 } Alguém poderia dar uma luz ai para eu tentar achar onde está o erro? Fico agradecido d+ pessoal. Abrçs Fabiano Gois Compartilhar este post Link para o post Compartilhar em outros sites
Francispansa 6 Denunciar post Postado Junho 18, 2012 O slip separa strings em array utilizando expressões regulares. No seu caso, experimente utilizar o explode() Compartilhar este post Link para o post Compartilhar em outros sites
red_foot 0 Denunciar post Postado Junho 18, 2012 O slip separa strings em array utilizando expressões regulares. No seu caso, experimente utilizar o explode() Já tentei e o erro persiste. Warning: explode() expects parameter 2 to be string, array given in /home2/site/public_html/includes/funcoes.php on line 124 Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 18, 2012 Gente, vamos ler o manual assim como o erro apresentado? split() quebra uma string com base em uma Expressão Regular, porém o seu uso é desencorajado pois est´[a depreciada no PHP 5.3 e superior, sendo melhor substituída por preg_split() explode() também quebra uma string em pedaços menores porém sem usar Expressões Regulares. Agora, o interpretador está te dando a resposta de bandeja: Warning: split() expects parameter 2 to be string' date=' array given in /home2/site/public_html/includes/funcoes.php on line 124[/quote']Se sua linha 124 é: $dataN = split("/", $data); Então $data é um array. Com um var_dump(), você vê o quê que esse array tem: var_dump( $data ); E, assim, consertar. Compartilhar este post Link para o post Compartilhar em outros sites
red_foot 0 Denunciar post Postado Junho 18, 2012 Gente, vamos ler o manual assim como o erro apresentado? split() quebra uma string com base em uma Expressão Regular, porém o seu uso é desencorajado pois est´[a depreciada no PHP 5.3 e superior, sendo melhor substituída por preg_split() explode() também quebra uma string em pedaços menores porém sem usar Expressões Regulares. Agora, o interpretador está te dando a resposta de bandeja: Se sua linha 124 é: $dataN = split("/", $data); Então $data é um array. Com um var_dump(), você vê o quê que esse array tem: var_dump( $data ); E, assim, consertar. Td bem bruno entendi mas sou iniciante em php desculpe minha ignorância. Fiz o que você falou e obtive o seguinte: array(3) { [0]=> string(2) "18" [1]=> string(2) "06" [2]=> string(4) "2012" } Warning: explode() expects parameter 2 to be string, array given in /home2/site/public_html/includes/funcoes.php on line 124 ou seja a data está correta. o que deve ser feito para a correção do erro? e mais uma vez desculpe a ignorancia. Sou programador porém em php sou bem iniciante. Compartilhar este post Link para o post Compartilhar em outros sites
MK_PF 0 Denunciar post Postado Junho 18, 2012 Boa tarde. Cara, como está sendo a sua entrada de string ? http://www.todoespacoonline.com/trabalhando-com-datas-em-php--date-mktime-time___1967 http://www.w3schools.com/php/func_date_mktime.asp []'s Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 18, 2012 Seu dado de entrada já é um array, logo você não precisa quebrá-lo novamente. Uma das diversas possíveis soluções é você verificar se o dado de entrada é um array ou não e, em sendo uma string, só quebrar se puder encontrar as barras: <?php function convertDate( $date ) { if( is_array( $date ) ) { list( $d, $m, $y ) = $date; } else { if( strpos( $date, '/' ) !== FALSE ) { list( $d, $m, $y ) = explode( '/', $date ); } // Keep coding ;) } } Compartilhar este post Link para o post Compartilhar em outros sites
red_foot 0 Denunciar post Postado Julho 26, 2012 Entendi... ficou tudo ok desta forma então ;) Compartilhar este post Link para o post Compartilhar em outros sites