<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevTics.com.Mx &#187; PHP</title>
	<atom:link href="http://www.devtics.com.mx/wp/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devtics.com.mx/wp</link>
	<description></description>
	<lastBuildDate>Sat, 03 Sep 2011 18:59:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>getKeyAsc obtener el valor de un indice en un Array sin caseSensitive</title>
		<link>http://www.devtics.com.mx/wp/400-getkeyasc-obtener-el-valor-de-un-indice-en-un-array-sin-casesensitive/</link>
		<comments>http://www.devtics.com.mx/wp/400-getkeyasc-obtener-el-valor-de-un-indice-en-un-array-sin-casesensitive/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 20:09:26 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[Funciones PHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=400</guid>
		<description><![CDATA[Aquí les dejo una pequeña función que se me ocurio formar a partir de un twitt del buen @danielniquet quien buscaba una forma de recuperar un elemento de un array asociativo sin que afectara el case sensitive de PHP, de forma nativa al parecer PHP no cuenta con una función que haga esto ya que [...]]]></description>
			<content:encoded><![CDATA[<p>Aquí les dejo una pequeña función que se me ocurio formar a partir de un twitt del buen <a href="http://twitter.com/danielniquet" target="_blank">@danielniquet</a> quien buscaba una forma de recuperar un elemento de un array asociativo sin que afectara el case sensitive de PHP, de forma nativa al parecer PHP no cuenta con una función que haga esto ya que digamos por &#8220;políticas&#8221; de php los keys de los arreglos asociativos son evaluados con case sensitive, por lo tal si en un array tengo el key &#8220;Mensaje&#8221; y trato de recuperar con $arr['mensaje'] no me retornara el valor ya que tiene que ser escrito el key exactamente igual $arr['Mensaje'], getKeyAsc en base solo hace posible recuperar el valor de un key sin que nos afecte esto, cabe destacar que lo que se hace es buscar comparando los key y en cuanto se encuentre el primer key que pasado a minúsculas sea igual al segundo parámetro que seria el key buscado de igual se pasa a minúscula cuando sean iguales se retorna el valor esto puede generar un error si tenemos los indices &#8220;mensaje&#8221; y &#8220;Mensaje&#8221; la función retornaría el primero que encontrara.</p>
<pre>
/*
FcoDiaz
www.devtics.com.mx
27/jul/2010
*/
function getKeyAsc($arr,$strIndex,$caseSesitive=false){
	if($caseSesitive)return $arr[$strIndex];
	foreach($arr as $i => $v)
	   if(strtolower($i)==strtolower($strIndex))return $v;
        return null;
}
</pre>
<p>Ejemplos</p>
<pre>
$arr=array("frutA"=>"naraja","noMbre"=>"pako","musiC"=>"rock");
echo "->{$arr["music"]}n";
echo "->{$arr["FRUTa"]}n";
echo "->{$arr["frutA"]}n";
echo "->".getKeyAsc($arr,"music")."n";
echo "->".getKeyAsc($arr,"FRUTa")."n";
</pre>
<p>Out:<br />
<code><br />
-><br />
-><br />
->naraja<br />
->rock<br />
->naraja<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/400-getkeyasc-obtener-el-valor-de-un-indice-en-un-array-sin-casesensitive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi Primer Aplicación de Escritorio en PHP + GTK2</title>
		<link>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/</link>
		<comments>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:33:53 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP+GTK]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=208</guid>
		<description><![CDATA[Ya hace algún tiempo fácil unos 3 años se de la posibilidad de crear aplicaciones de escritorio con PHP, así es, una parte muy desconocida de este lenguaje es que fusionándose con la librería GTK se pueden crear entornos de escritorio, por decidía y falta de tiempo no he entrado en este campo de PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hace algún tiempo fácil unos 3 años se de la posibilidad de crear aplicaciones de escritorio con PHP, así es, una parte muy desconocida de este lenguaje es que fusionándose con la librería GTK se pueden crear entornos de escritorio, por decidía y falta de tiempo no he entrado en este campo de PHP aparte que no lo he requerido, hoy hace 4 hrs tenia que hacer una aplicación y dije ha estaría chido hacerla en PHP+GTK haber vamos a ver como se maneja!, ya estuve navegando un rato, leí el introductorio, baje los dos primeros ejemplos y realice mi primera aplicación utilizando esta tecnologías combinadas. y aquí esta mi aplicacioncita de sumar dos números =D, nada mal para solo haber visto solo 2 ejemplos y tener 4 hrs en el tema :), veo que es un tema muy poco documentado en español así que muy posiblemente estaré postiando mas sobre este tema.</p>
<p>Aquí el Código de mi aplicación</p>
<pre>
&lt;?php
if (!class_exists(&#039;gtk&#039;)) {
   die(&quot;Esto es una aplicaci&oacute;n PHP+GTK2 no tienes gtk instalado&quot;);
}

function suma(GtkWindow $wnd,GtkEntry $txtN1,GtkEntry $txtN2, GtkLabel $lbRes){
   $lbRes-&gt;set_text(&quot; = &quot; .  ($txtN1-&gt;get_text()+$txtN2-&gt;get_text() ));
}

$wnd = new GtkWindow();
$wnd-&gt;set_size_request(170, 70);
$wnd-&gt;set_title(&#039;Programa de Suma en PHP-GTK2&#039;);
$wnd-&gt;connect_simple(&#039;destroy&#039;, array(&#039;gtk&#039;, &#039;main_quit&#039;));
$wnd-&gt;show_all();
$btnSum = new GtkButton(&#039;_Sumar&#039;);
$txtN1 =  new GtkEntry();
$txtN2 = new GtkEntry();
$lb1 = new GtkLabel(&quot;+&quot;);
$lbRes = new GtkLabel(&quot; = &quot;);
$txtN1-&gt;set_size_request(40, 20);
$txtN2-&gt;set_size_request(40, 20);
$lbRes-&gt;set_size_request(30, 20);
$btnSum-&gt;connect_simple(&#039;clicked&#039;, &#039;suma&#039;, $wnd, $txtN1, $txtN2,$lbRes);
$table=new GtkTable(5,2);
$table-&gt;attach($txtN1, 0, 1, 0, 1);
$table-&gt;attach($lb1,   1, 2, 0, 1);
$table-&gt;attach($txtN2, 2, 3, 0, 1);
$table-&gt;attach($lbRes, 3, 4, 0, 1);
$table-&gt;attach($btnSum, 0, 5, 1, 2);
$wnd-&gt;add($table);
$wnd-&gt;show_all();
Gtk::main();
?&gt;
</pre>
<div style="text-align: center;">Así se ve en Windows Xp Sp3.<br />
<img class="aligncenter" title="phpgtk" src="http://devtics.com.mx/imgs/suma-2-numeros-php-gtk2.png" alt="" width="178" height="104" align="center" /></div>
<div>
<p style="text-align: center;">y Así en Linux Ubuntu 9.10</p>
<p style="text-align: center;"><img title="phpgtk" src="http://www.imagengratis.org/images/sumadosnum.png" alt="" /></p>
</div>
<p>De entrada veo la desventaja de que no existe una IDE para realizar el diseño de las interfaces arrastrado (no que yo sepa hasta ahorita) como VisualStudio para .net o NetBeans para Java por lo que los controles hay que escribirlos a manita esto es una desventaja vs los lenguajes que si lo tienen .net o Java etc, aunque sigue siendo mucho menos el código que se necesita codificar para crear la interfaces en PHP que en java por ejemplo, pero pues son lineas que una interfaces nos podría evitar y como siempre enfocarnos en la solución del problema.</p>
<p>Update: 16 Marzo 2010</p>
<p>Ya encontré la forma de crear la GUI desde un programa que se llama Glade, la verdad aun no lo he echando a andar, he tenido problemas al importar, Glade es una herramienta para crear GUI&#8217;s con los controles GTK en genera no para un lenguaje en especifico en si no es un IDE, los archivos que maneja glade son XML los cuales en teoría se deberían de importar en lenguaje que se quisieran programar, en PHP+GTK se carga el xml y sólito crea los objetos que requerimos y solo nos restaría la asignación de evento, mas adelante les comentare que tal funciona esto y como hacerlo&#8230; cuando me salga ahorita tengo problemas al momento de importar el xml a php, encontré unos ejemplos y funcionan bien pero mis interfaces nada mas no jalan :( bueno ya les contare.. ;), se agradece la mención de glade en twitter de <a href="http://twitter.com/pstglia" target="_blank">@pstglia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/208-mi-primer-aplicacion-de-escritorio-en-php-gtk2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>funcion PHP is_arr_num saber si un arrays es numerico o asociativo</title>
		<link>http://www.devtics.com.mx/wp/167-funcion-php-is_arr_num-saber-si-un-arrays-es-numerico-o-asociativo/</link>
		<comments>http://www.devtics.com.mx/wp/167-funcion-php-is_arr_num-saber-si-un-arrays-es-numerico-o-asociativo/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 18:57:35 +0000</pubDate>
		<dc:creator>pako</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[Funcion]]></category>

		<guid isPermaLink="false">http://www.devtics.com.mx/wp/?p=167</guid>
		<description><![CDATA[PHP maneja dos tipos de arreglos(arrays) numéricos y asociativos, los primeros son arreglos que manejan indices de 0 a n de forma secuencial ejemplo $a=array(1,2,3,"hola Mundo","devTics"); print_r($a); /* out: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => hola Mundo [4] => devTics ) */ o bien los asociativos, que son [...]]]></description>
			<content:encoded><![CDATA[<p>PHP maneja dos tipos de arreglos(arrays) numéricos y asociativos, los primeros son arreglos que manejan indices de 0 a n de forma secuencial ejemplo</p>
<pre>
$a=array(1,2,3,"hola Mundo","devTics");
print_r($a);
/*
out:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => hola Mundo
    [4] => devTics
)
*/
</pre>
<p>o bien los asociativos, que son arreglos que utilizan cadenas como indices</p>
<pre>
$a=array("nombre"=>pako, "web"=>"http://www.devtics.com.mx", "twitter"=>"@fcoDiaz");
print_r($a);
/*
out:
Array
(
    [nombre] => pako
    [web] => http://www.devtics.com.mx
    [twitter] => @fcoDiaz
)
*/
</pre>
<p>en unos de mis tantos días de trabajo me encontré con la necesidad de saber si un arreglo es asociativo o bien si es numérico, aunque también puede estar &#8220;combinados&#8221;, pero cualquier arreglo con un indice que sea un &#8220;string&#8221; debería de considerarse como asociativo aunque el resto de los indices sean numéricos ya sea consecutivos o no.</p>
<p>PHP tiene una función que nos permite saber si una variable es un array (<a href="http://www.php.net/manual/en/function.is-array.php" target="_blank">is_array</a>), pero no existe una que indique si es asociativo o no, para eso cree esta función que nos retorna true si se trata de un arreglo numérico, si encuentra un indice que no sea numérico nos retornara un false lo que nos indicara que se trata de un array asociativo</p>
<pre>
&lt;?php
/**
 * @author fcoDiaz &lt;wariodiaz@gmail.com&gt; *
 * @name is_array_num
 * @link http://www.devtics.com.mx
 * @param $arr arreglo a evaluar
 * @return boolean
 * &lt;p&gt;&lt;b&gt;true:&lt;/b&gt; si el arreglo es numerico, se considera numerico el array
 * que tenga solamente indices numericos ya sea consecutivos o no&lt;/p&gt;
 * &lt;p&gt;&lt;b&gt;false:&lt;/b&gt; si el arreglo es asociativo, se cosidera asociativo el array
 * cuando este contiene un indice que no sea numerico&lt;/p&gt;
 * &lt;code&gt;
 * $a = array(
 *   array(1,2,3),
 *   array(&#039;nombre&#039;=&gt;&quot;pako&quot;, &quot;email&quot;=&gt;wariodiaz@gmail.com, &quot;web&quot;=&gt;&quot;www.devtics.com.mx&quot;),
 *   array(0=&gt;1,1=&gt;4,&quot;saludo&quot;=&gt;&quot;hola Mundo&quot;)
 * );
 *
 * foreach($a as $i =&gt;$v)
 *    if(is_arr_num($v))
 *      echo &quot;$a[$i] es numericon&quot;;
 *    else
 *      echo &quot;$a[$i] es asociativon&quot;;
 * out:
 * $a[0] es numerico
 * $a[1] es asocitivo
 * $a[2] es asocitivo
 * &lt;/code&gt;
 */

function is_arr_num($arr){
    if(!is_array($arr))return false;
    foreach($arr as $i =&gt;$v){
        if(!is_numeric($i))return false;
    }
    return true;
}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devtics.com.mx/wp/167-funcion-php-is_arr_num-saber-si-un-arrays-es-numerico-o-asociativo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

