View Single Post
  #1  
Old 10-19-2006, 06:53 AM
Novo Novo is offline
[TServerDeveloper]
Join Date: Jun 2006
Posts: 448
Novo will become famous soon enough
Unexpected Results

PHP Code:
function onCreated()
  {
  
this.string = new TStaticVar();
  
this.string.n.one 1;
  
this.string.n.two 2;
  
  
temp.arr this.string.savevarstoarray(0);
  for ( 
atemp.arr )
    if ( 
containsa) )
      echo( 
);
  } 
When b = "two": n.two=2
When b = "n": n.two=2,n.one=1
When b = "one": n.one=1

When b = "t": ... Nothing.
When b = "o": ... Nothing.
When b = "n.": ... Nothing.
When b = "=": ... Nothing.

When b = "1": n.one=1

Summary:
When using the 'contains' function, the results vary. By deduction, we can see that if a string contains "two", than it must contain "t", however... It returns false.

It seems like the string is split by symbols ( ., =, " ", etc etc ) and then they are compared token[x] == needle.

Working Version:
PHP Code:
function containshaystackneedle )
  {
  if ( 
haystack.type() == )
    return 
false;
  
  for ( 
0=< haystack.length() - needle.length(); ++ )
    {
    if ( 
haystack.substringineedle.length() ) == needle )
      return 
true;
    }

  return 
false;
  } 
Reply With Quote