{"id":5913,"date":"2013-04-04T13:48:19","date_gmt":"2013-04-04T13:48:19","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=5913"},"modified":"2019-03-03T07:02:58","modified_gmt":"2019-03-03T07:02:58","slug":"ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/","title":{"rendered":"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP"},"content":{"rendered":"<p>En este art\u00edculo vamos a ver como juntar varios arrays mezcl\u00e1ndolos mostrando los resultados en un orden aleatorio.<\/p>\n<p>PHP dispone de la funci\u00f3n shuffle(array), que se encarga demezclar un array (crea un orden aleatorio de sus elementos).<\/p>\n<p>Devuelve <strong><code>TRUE<\/code><\/strong> en caso de \u00e9xito o <strong><code>FALSE<\/code><\/strong> en caso de error.<\/p>\n<p>En el ejemplo que vamos a ilustrar en este tutorial vamos a tener 2 arrays que uniremos posteriormente para luego mezclarlos aplicando la ejecuci\u00f3n de la anterior funci\u00f3n shuffle(). La idea general es mostrar en el mismo contenedor 2 elementos de distinta \u00edndole como por ejemplo: productos y categorias con orden aleatorio.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/04\/shuffe.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5914\" alt=\"shuffe\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/04\/shuffe.png\" width=\"681\" height=\"552\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/04\/shuffe.png 681w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/04\/shuffe-300x243.png 300w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/p>\n<p>Entrando m\u00e1s en materia, vamos a tener un array de productos, donde vamos a guardar su n\u00famero de identificaci\u00f3n, su nombre y precio. Vamos a crear 8 productos.<\/p>\n<pre>\/\/Generaci\u00f3n de productos\r\nfor ($i=1; $i&lt;9; $i++) {\r\n\u00a0\u00a0 \u00a0$products[$i] = array('id' =&gt; $i,\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'name' =&gt; 'Producto '.$i,\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'price' =&gt; 20 + $i);\r\n}<\/pre>\n<p>Tambi\u00e9n ejecutaremos un c\u00f3digo muy parecido para las categor\u00edas. En concreto, creamos 4 categor\u00edas para el ejemplo:<\/p>\n<pre>\/\/Generaci\u00f3n de categorias\r\nfor ($j=1; $j&lt;5; $j++) {\r\n\u00a0\u00a0 \u00a0$categories[$j] = array('id' =&gt; $j,\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'name' =&gt; 'Category '.$j);\r\n}<\/pre>\n<p>Uniremos los dos arrays (productos y categor\u00edas):<\/p>\n<pre>$data = array_merge($products, $categories);<\/pre>\n<p>Ahora solo falta llamar a la funci\u00f3n shuffe() para mezclar los productos y las categor\u00edas de forma aletaria:<\/p>\n<pre>&lt;?php\r\nif (shuffle($data)) {\r\n\u00a0\u00a0 \u00a0?&gt;\r\n\u00a0\u00a0\u00a0 &lt;div class=\"content\"&gt;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lt;?php\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0foreach ($data as $row) {\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo '&lt;div class=\"element\"&gt;';\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo '&lt;h2&gt;'.$row['name'].'&lt;\/h2&gt;';\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($row['price']) echo '&lt;p&gt;'.$row['price'].' \u20ac&lt;\/p&gt;';\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo '&lt;\/div&gt;';\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0?&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/div&gt;\r\n&lt;?php\u00a0\u00a0 \u00a0\r\n}\r\n?&gt;<\/pre>\n<p>Ver el ejemplo en funcionamiento<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo vamos a ver como juntar varios arrays mezcl\u00e1ndolos mostrando los resultados en un orden aleatorio. PHP dispone de la funci\u00f3n shuffle(array), que se encarga demezclar un array (crea un orden aleatorio de sus elementos). Devuelve TRUE en caso de \u00e9xito o FALSE en caso de error. En el ejemplo que vamos a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[38,40],"class_list":["post-5913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-arrays","tag-ordenacion"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"En este art\u00edculo vamos a ver como juntar varios arrays mezcl\u00e1ndolos mostrando los resultados en un orden aleatorio. PHP dispone de la funci\u00f3n shuffle(array), que se encarga demezclar un array (crea un orden aleatorio de sus elementos). Devuelve TRUE en caso de \u00e9xito o FALSE en caso de error. En el ejemplo que vamos a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2013-04-04T13:48:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-03T07:02:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png\" \/>\n\t<meta property=\"og:image:width\" content=\"128\" \/>\n\t<meta property=\"og:image:height\" content=\"128\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/\",\"name\":\"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png\",\"datePublished\":\"2013-04-04T13:48:19+00:00\",\"dateModified\":\"2019-03-03T07:02:58+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png\",\"width\":128,\"height\":128},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog","og_description":"En este art\u00edculo vamos a ver como juntar varios arrays mezcl\u00e1ndolos mostrando los resultados en un orden aleatorio. PHP dispone de la funci\u00f3n shuffle(array), que se encarga demezclar un array (crea un orden aleatorio de sus elementos). Devuelve TRUE en caso de \u00e9xito o FALSE en caso de error. En el ejemplo que vamos a [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2013-04-04T13:48:19+00:00","article_modified_time":"2019-03-03T07:02:58+00:00","og_image":[{"width":128,"height":128,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/","url":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/","name":"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png","datePublished":"2013-04-04T13:48:19+00:00","dateModified":"2019-03-03T07:02:58+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/11\/php.png","width":128,"height":128},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/ordenar-arrays-de-forma-aleatoria-con-la-funcion-shuffle-de-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ordenar arrays de forma aleatoria con la funci\u00f3n shuffle de PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/5913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=5913"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/5913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/5120"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=5913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=5913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=5913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}