Update of /cvsroot/binaryphp/binaryphp/functions/arrays
In directory sc8-pr-cvs1:/tmp/cvs-serv23098/arrays
Added Files:
array.cpp array_reverse.cpp in_array.cpp
Log Message:
Moved files into their proper subdirectories.
--- NEW FILE: array.cpp ---
php_var array(int key = 0, ...)
{
va_list ap;
va_start(ap, key);
php_var arr;
arr.to_array();
int i = 0;
for(int i = 0; i < key / 2; ++i)
{
php_var key2 = va_arg(ap, php_var);
if(key2 == -1)
{
bool found = false;
for(;;)
{
for(i = 0;i < arr.keys.size(); ++i)
{
if(arr.keys[i] == (php_var) i)
found = true;
}
if(found)
++i;
else
break;
}
key2 = i;
}
php_var val = va_arg(ap, php_var);
arr.keys.push_back(key2);
arr.data.push_back(val);
};
va_end(ap);
return arr;
}
--- NEW FILE: array_reverse.cpp ---
php_var array_reverse(php_var arr, php_var preserve_keys)
{
php_var retval=arr;
if((bool)preserve_keys == false)
{
for(i = 0;i < arr.size(); ++i)
retval.keys[i]=arr.keys[arr.size()-i-1];
}
for(i = 0;i < arr.size(); ++i)
retval.data[i]=arr.data[arr.size()-i-1];
}
--- NEW FILE: in_array.cpp ---
php_var in_array(php_var needle, php_var haystack, php_var strick = false)
{
int i = 0;
for(i = 0;i < haystack.keys.size(); ++i)
{
if(haystack.data[i] == needle)
{
if(strick==true)
{
if(needle.type==haystack.data[i].type)
return (php_var)true;
return (php_var) false;
}
return (php_var) true;
}
}
return (php_var) false;
}
|