<?xml version="1.0"?><phpdoc><class name="Bs_ArrayDb" extends="Bs_Object" undoc="false" access="public" package="db"><file>C:/usr/local/lib/php/blueshoes-4.2/core/db/Bs_ArrayDb.class.php</file><doc><author>andrej arn &amp;lt;andrej at blueshoes dot org&amp;gt;</author><inherited src="Array"/><description>Array-DB class. makes it possible to execute sql queries on a array.ever had a structured array and wanted to remove some elements, add some, and order it bymultiple columns? it&amp;apos;s a nap using this class.---------------------------------------------------------------------------------------------------------example usage:$array = array(array(&amp;apos;name&amp;apos; =&amp;gt; &amp;apos;rick lee-morlang&amp;apos;, &amp;apos;birthday&amp;apos; =&amp;gt; &amp;apos;31.07.1976&amp;apos;, &amp;apos;city&amp;apos; =&amp;gt; &amp;apos;vancouver&amp;apos;,    &amp;apos;bikes&amp;apos; =&amp;gt; 7),array(&amp;apos;name&amp;apos; =&amp;gt; &amp;apos;chaher viola&amp;apos;,     &amp;apos;birthday&amp;apos; =&amp;gt; &amp;apos;09.05.1960&amp;apos;, &amp;apos;city&amp;apos; =&amp;gt; &amp;apos;zurich&amp;apos;,       &amp;apos;bikes&amp;apos; =&amp;gt; 1),array(&amp;apos;name&amp;apos; =&amp;gt; &amp;apos;andrej arn&amp;apos;,       &amp;apos;birthday&amp;apos; =&amp;gt; &amp;apos;05.01.1977&amp;apos;, &amp;apos;city&amp;apos; =&amp;gt; &amp;apos;solothurn&amp;apos;,    &amp;apos;bikes&amp;apos; =&amp;gt; 0),array(&amp;apos;name&amp;apos; =&amp;gt; &amp;apos;sam blume&amp;apos;,        &amp;apos;birthday&amp;apos; =&amp;gt; &amp;apos;25.12.1964&amp;apos;, &amp;apos;city&amp;apos; =&amp;gt; &amp;apos;pfäffikon zh&amp;apos;, &amp;apos;bikes&amp;apos; =&amp;gt; 2),);$adb =&amp; new Bs_ArrayDb();$status = $adb-&amp;gt;init($array);if ($status) {dump($adb-&amp;gt;query(&amp;quot;select * from [array] WHERE bikes &amp;gt;= 1&amp;quot;));}//that is my output:array(3) {[0]=&amp;gt;&amp;array(4) {[&amp;quot;name&amp;quot;]=&amp;gt;  string(16) &amp;quot;rick lee-morlang&amp;quot;[&amp;quot;birthday&amp;quot;]=&amp;gt;  string(10) &amp;quot;31.07.1976&amp;quot;[&amp;quot;city&amp;quot;]=&amp;gt;  string(9) &amp;quot;vancouver&amp;quot;[&amp;quot;bikes&amp;quot;]=&amp;gt;  string(1) &amp;quot;7&amp;quot;}[1]=&amp;gt;&amp;array(4) {[&amp;quot;name&amp;quot;]=&amp;gt;  string(12) &amp;quot;chaher viola&amp;quot;[&amp;quot;birthday&amp;quot;]=&amp;gt;  string(10) &amp;quot;09.05.1960&amp;quot;[&amp;quot;city&amp;quot;]=&amp;gt;  string(6) &amp;quot;zurich&amp;quot;[&amp;quot;bikes&amp;quot;]=&amp;gt;  string(1) &amp;quot;1&amp;quot;}[2]=&amp;gt;&amp;array(4) {[&amp;quot;name&amp;quot;]=&amp;gt;  string(9) &amp;quot;sam blume&amp;quot;[&amp;quot;birthday&amp;quot;]=&amp;gt;  string(10) &amp;quot;25.12.1964&amp;quot;[&amp;quot;city&amp;quot;]=&amp;gt;  string(12) &amp;quot;pfäffikon zh&amp;quot;[&amp;quot;bikes&amp;quot;]=&amp;gt;  string(1) &amp;quot;2&amp;quot;}}---------------------------------------------------------------------------------------------------------</description><shortdescription>**********************************************************************</shortdescription><version>4.0.$Revision: 1.1.1.1 $</version><copyright>blueshoes.org</copyright></doc><function name="Bs_ArrayDb" undoc="false" access="public"><doc><return type="void"/><description/><shortdescription>constructor.</shortdescription></doc></function><function name="init" undoc="false" access="private"><doc><parameter name="$data" type="array"/><return name="" type="bool"> (TRUE on success and the object is ready to take queries, FALSE otherwise.)</return><description/><shortdescription>inits the object with the given data.</shortdescription></doc></function><function name="query" undoc="false" access="public"><doc><parameter name="$sqlQuery" type="string"/><return name="" type="mixed"> (hrm...)</return><description>examples:1) &amp;quot;select * from [array]&amp;quot;2) &amp;quot;select * from [array] WHERE bikes &amp;gt;= 1&amp;quot;as you can see you need to call the table name &amp;apos;[array]&amp;apos;.</description><shortdescription>executes the given sql query on your data.</shortdescription></doc></function><function name="_determineArrayStructure" undoc="false" access="private"><doc><return name="" type="array"> (hash, see above)</return><description>returned value:hash where key is the field name, value is an array (hash again) with the keys:&amp;apos;type&amp;apos; =&amp;gt; one of &amp;apos;number&amp;apos; or &amp;apos;string&amp;apos;. &amp;apos;number&amp;apos; only if all elements are numeric.&amp;apos;size&amp;apos; =&amp;gt; the length (number of chars) of the longest value.</description><shortdescription>determines the structure of the data array.</shortdescription></doc></function><function name="_createTempTable" undoc="false" access="private"><doc><parameter name="$struct" type="array">(result from _determineArrayStructure())</parameter><return name="" type="bool"> (status)</return><description/><shortdescription>creates the mysql heap table.</shortdescription></doc></function><function name="_feedDb" undoc="false" access="private"><doc><return name="" type="bool"/><description/><shortdescription>inserts the user data into the newly created database.</shortdescription></doc></function><function name="_createRandomTableName" undoc="false" access="private"><doc><see type="var">$_tableName</see><return name="" type="string"/><description/><shortdescription>creates a random table name, prefixed with &amp;apos;bs_&amp;apos;.</shortdescription></doc></function><function name="_getInternalFieldName" undoc="false" access="private"><doc><parameter name="$externalFieldName" type="string"/><return name="" type="string"/><description>all field names are prefixed with &amp;apos;bs_&amp;apos; internally. otherwise we&amp;apos;d have to checkevery field if it&amp;apos;s not a reserved word, and then prefix just some fields. that wouldbe even worse.also we have to deal with other unsupported things like special chars and spaces.</description><shortdescription>converts the external (coder) writing of a field name into our internal one.</shortdescription></doc></function><variable name="$_dataArray" access="private" type="array"><doc><description/><shortdescription>the data we got from the user in init().</shortdescription></doc></variable><variable name="$_bsDb" access="private" type="unknown"><doc><description/><shortdescription>the db object that is in use.</shortdescription></doc></variable><variable name="$_tableName" access="private" type="string"><doc><description>that is a randomly created name, prefixed with &amp;apos;bs_&amp;apos;.</description><shortdescription>the db table name.</shortdescription></doc></variable><constant name="BS_ARRAYDB_VERSION" undoc="true" access="private" case="default: case sensitive">4.0.$x$<doc></doc></constant><inherited src="Bs_Object" type="functions"><element>isex</element><element>isexception</element><element>tostring</element><element>tohtml</element><element>persist</element><element>unpersist</element><element>bs_object</element><element>bbsetoutput</element><element>bbawake</element><element>bbisawake</element><element>bbxmsg</element><element>bbxfunctionstart</element><element>bbxfunctionend</element><element>bbxecho</element><element>bbxvar</element><element>bbxvardump</element><element>bbforcetrace</element><element>bbbufferstart</element><element>bbbufferget</element><element>bbbufferendflush</element><element>bbbufferendclean</element></inherited><inherited src="Bs_Object" type="consts"><element>bs_object_version</element></inherited><path><parent>Bs_Object</parent></path><baseclass>Bs_Object</baseclass></class></phpdoc>