You are here: Re: I keep getting this error in in_array. Any ideas why? « PHP Programming Language « IT news, forums, messages
Re: I keep getting this error in in_array. Any ideas why?

Posted by rich on 09/20/06 03:22

Juliette that was a good idea. Thanks.

Juliette wrote:
> rich wrote:
> > Oh here is the getspecprim() function
> >
> > function getspecprim($dresstypeid) {
> > $getQ="SELECT primsecid FROM li_dresstypepsp
> > WHERE
> > dresstypeid= '$dresstypeid'";
> > $getR = pg_query($getQ);
> > $getA= pg_fetch_all($getR);
> > return($getA);
> > }
> >
> > rich wrote:
> >> I keep getting the error:
> >> Warning: in_array(): Wrong datatype for second argument on line 679
> >> here is the code.
> >> I declare and fill the array
> >> $specprimA = array();
> >> $specprimA= getspecprim($dresstypeid);
> >> $primsecA=getprimsec();
> >>
> >> Then I do a compare using in Array. I even put in the extra step of
> >> making sure I have something in the array with the is sizeof statement.
> >>
> >> $numcl= count($primsecA);
> >> for ($i=0; $i<$numcl; $i++){
> >> $primsec = $primsecA[$i]['primsec'];
> >> if (sizeof($specprimA) >0){
> >> if (in_array($primsecA[$i]['primsecid'], $specprimA)) { ?>
> >> <input type="checkbox" checked tabindex="2" name="primsecid[]"
> >> value="<?php echo $primsecA[$i]['primsecid']; ?>"/><?php echo
> >> $primsec;
> >> } else { ?>
> >> <input type="checkbox" tabindex="2" name="primsecid[]" value="<?php
> >> echo $primsecA[$i]['primsecid']; ?>"/><?php echo $primsec;
> >> }
> >> } else { ?>
> >> <input type="checkbox" tabindex="2" name="primsecid[]" value="<?php
> >> echo $primsecA[$i]['primsecid']; ?>"/><?php echo $primsec;
> >> }
> >> }?>
> >>
> >> This is line 679
> >> if (in_array($primsecA[$i]['primsecid'], $specprimA)) { ?>
> >>
> >> Any ideas why?
> >
>
>
> count / sizeof on a boolean or string will return 1, so try changing the
> line above the problem line to:
> if( is_array( $specprimA ) && count( $specprimA ) > 0 ) {
>
> Alternatively, IMHO a better solution, would be to do the checking /
> typecasting in the function.
>
> replace:
> return($getA);
>
> with something along the lines of:
> if( !is_array( $getA ) {
> return array();
> }
> else {
> return $getA;
> }

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация