snipt

Ctrl+h for KB shortcuts

PHP

Workaround with little-endian and big-endian GUID representations

/**
 * Workaround with little-endian and big-endian GUID representations
 * AABBCCDD-AABB-AABB-AABB-AABBCCDDEEFF
 * DDCCBBAA-BBAA-BBAA-AABB-AABBCCDDEEFF
 *
 * @param string $hexstr
 * @return string
 */
function swapEndian( $hexstr )
{
  $p = explode('-', $hexstr);

  $p[0] = implode('', array_reverse(explode('.', chunk_split($p[0], 2, '.'))));
  $p[1] = $p[1]{2}.$p[1]{3}.$p[1]{0}.$p[1]{1};
  $p[2] = $p[2]{2}.$p[2]{3}.$p[2]{0}.$p[2]{1};

  return implode('-', $p);
}
https://snipt.net/embed/77a5ff15d544af7d832136d8ac4ee342/
/raw/77a5ff15d544af7d832136d8ac4ee342/
77a5ff15d544af7d832136d8ac4ee342
php
PHP
18
2019-08-23T06:52:59
True
False
False
/api/public/snipt/31163/
workaround-with-little-endian-and-big-endian-guid-representations-aabbccdd-aabb-aabb-aabb-aabbccddeeff-ddccbbaa-bbaa-bbaa-aabb-aabbccddeeff
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="x">/**</span> </span><span id="L-2"><a name="L-2"></a><span class="x"> * Workaround with little-endian and big-endian GUID representations</span> </span><span id="L-3"><a name="L-3"></a><span class="x"> * AABBCCDD-AABB-AABB-AABB-AABBCCDDEEFF</span> </span><span id="L-4"><a name="L-4"></a><span class="x"> * DDCCBBAA-BBAA-BBAA-AABB-AABBCCDDEEFF</span> </span><span id="L-5"><a name="L-5"></a><span class="x"> *</span> </span><span id="L-6"><a name="L-6"></a><span class="x"> * @param string $hexstr</span> </span><span id="L-7"><a name="L-7"></a><span class="x"> * @return string</span> </span><span id="L-8"><a name="L-8"></a><span class="x"> */</span> </span><span id="L-9"><a name="L-9"></a><span class="x">function swapEndian( $hexstr )</span> </span><span id="L-10"><a name="L-10"></a><span class="x">{</span> </span><span id="L-11"><a name="L-11"></a><span class="x"> $p = explode(&#39;-&#39;, $hexstr);</span> </span><span id="L-12"><a name="L-12"></a> </span><span id="L-13"><a name="L-13"></a><span class="x"> $p[0] = implode(&#39;&#39;, array_reverse(explode(&#39;.&#39;, chunk_split($p[0], 2, &#39;.&#39;))));</span> </span><span id="L-14"><a name="L-14"></a><span class="x"> $p[1] = $p[1]{2}.$p[1]{3}.$p[1]{0}.$p[1]{1};</span> </span><span id="L-15"><a name="L-15"></a><span class="x"> $p[2] = $p[2]{2}.$p[2]{3}.$p[2]{0}.$p[2]{1};</span> </span><span id="L-16"><a name="L-16"></a> </span><span id="L-17"><a name="L-17"></a><span class="x"> return implode(&#39;-&#39;, $p);</span> </span><span id="L-18"><a name="L-18"></a><span class="x">}</span> </span></pre></div> </td></tr></table>
guid, php