From: <da...@us...> - 2003-08-03 06:36:05
|
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; } |