Update of /cvsroot/binaryphp/binaryphp/functions/arrays
In directory sc8-pr-cvs1:/tmp/cvs-serv4995/functions/arrays
Added Files:
count.cpp implode.cpp ksort.cpp
Log Message:
finished cleaning up the functions dir
--- NEW FILE: count.cpp ---
#define count(var) ((php_var) (var).keys.size())
--- NEW FILE: implode.cpp ---
php_var implode(php_var delim, php_var arr)
{
php_var str;
int i;
for(i = 0; i < (arr.keys.size() - 1); ++i)
{
str += arr[i];
str += delim;
}
str += arr[i];
return str;
}
--- NEW FILE: ksort.cpp ---
php_var ksort(php_var &arr)
{
php_var temp;
int i = 0;
for(;;)
{
if(i >= arr.keys.size())
return 1;
if((arr.keys[i].type == PHP_STRING && arr.keys[i+1].type == PHP_STRING &&
(arr.keys[i].container.compare(arr.keys[i+1].container)) > 0) ||
(arr.keys[i].type == PHP_STRING && arr.keys[i+1].type == PHP_INT) ||
(arr.keys[i].type == PHP_INT && arr.keys[i+1].type == PHP_INT &&
arr.keys[i] > arr.keys[i+1]))
{
temp = arr.keys[i];
arr.keys[i] = arr.keys[i+1];
arr.keys[i+1] = temp;
temp = arr.data[i];
arr.data[i] = arr.data[i+1];
arr.data[i+1] = temp;
if(i > 0)
--i;
else
++i;
}
else
++i;
}
}
|