<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@phpize</title><subtitle>Most interesting code snippets from PHPize.online with comments</subtitle><author><name>@phpize</name></author><id>https://teletype.in/atom/phpize</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/phpize?offset=0"></link><link rel="alternate" type="text/html" href="https://blog.phpize.online/?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/phpize?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-12T11:39:17.639Z</updated><entry><id>phpize:MySQLi_fetch_column_function</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/MySQLi_fetch_column_function?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>PHP 8.1: MySQLi: fetch_column function</title><published>2023-02-06T18:14:39.684Z</published><updated>2023-02-06T18:14:39.684Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">Еще одно предложение внесенное Kamil Tekiela было включено в релиз РНР 8.1
Начиная с этого релиза еще один метод стал доступен в классе mysqli - метод fetch_column ранее имплементированный в библиотеке PDO</summary><content type="html">
  &lt;p id=&quot;NRBp&quot;&gt;Еще одно предложение &lt;a href=&quot;https://wiki.php.net/rfc/mysqli_fetch_column&quot; target=&quot;_blank&quot;&gt;внесенное Kamil Tekiela &lt;/a&gt;было включено в релиз РНР 8.1&lt;br /&gt;Начиная с этого релиза еще один метод стал доступен в классе mysqli - метод fetch_column ранее имплементированный в библиотеке PDO&lt;/p&gt;
  &lt;p id=&quot;OF4n&quot;&gt;Создадим маленькую тестовую таблицу&lt;/p&gt;
  &lt;pre id=&quot;uqMT&quot; data-lang=&quot;sql&quot;&gt;create table persons (
    id int primary key, 
    name varchar(64),
    age tinyint
);

insert into persons values (10, &amp;#x27;Alice&amp;#x27;, 18), (20, &amp;#x27;Bob&amp;#x27;, 22);

+====+=======+=====+
| id | name  | age |
+====+=======+=====+
| 10 | Alice | 18  |
| 20 | Bob   | 22  |
+----+-------+-----+&lt;/pre&gt;
  &lt;pre id=&quot;pJ6p&quot; data-lang=&quot;php&quot;&gt;$result = $mysqli-&amp;gt;query(&amp;quot;SELECT name FROM persons WHERE id = 10&amp;quot;);

echo $result-&amp;gt;fetch_column();
//Alice&lt;/pre&gt;
  &lt;p id=&quot;hbc7&quot;&gt;В случае если запрос возвращает несколько колонок функция fetch_column  может вернуть значение из столбца номер которого передан в качестве параметра функции (нумерация колонок начинается с 0).&lt;/p&gt;
  &lt;pre id=&quot;aWxd&quot; data-lang=&quot;php&quot;&gt;$result = $mysqli-&amp;gt;query(&amp;quot;SELECT name, age FROM persons WHERE id = 10&amp;quot;);

echo $result-&amp;gt;fetch_column(1);
//18&lt;/pre&gt;
  &lt;p id=&quot;wPQg&quot;&gt;Здесь можно &lt;a href=&quot;https://phpize.online/sql/mysql57/e61e9314834351c0b4a33f0959cd439b/php/php81/cb90542f4d92ae0efcf08ec696a8e92f/&quot; target=&quot;_blank&quot;&gt;выполнить код PHP онлайн&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;tA99&quot;&gt;Как и в случае с другими методами fetch_*, этот также перемещает внутренний указатель результата на следующую строку при вызове. Таким образом, вы не можете использовать fetch_column(i) для цикла с одним столбцом записи. Следующий пример демонстрирует эту ошибку:&lt;/p&gt;
  &lt;pre id=&quot;vRAq&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php
$result = $mysqli-&amp;gt;query(&amp;quot;SELECT name, age FROM persons&amp;quot;);

$name = $result-&amp;gt;fetch_column(0);
$age  = $result-&amp;gt;fetch_column(1);

// Returns Alice  name with Bob&amp;#x27;s age
printf(&amp;quot;Name: %s, age: %d&amp;quot;, $name, $age);&lt;/pre&gt;
  &lt;p id=&quot;MUvA&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/b77bf62cd00f67bb433719a530ce2c8c/php/php81/d39ac72d052aa9f0009754256c9eec4a/&quot; target=&quot;_blank&quot;&gt;https://phpize.online/sql/mysql57/b77bf62cd00f67bb433719a530ce2c8c/php/php81/d39ac72d052aa9f0009754256c9eec4a/&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:mysql_execute_query</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/mysql_execute_query?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>Новое в PHP 8.2: mysqli_execute_query / mysqli::execute_query</title><published>2023-01-04T21:17:57.180Z</published><updated>2023-01-06T13:12:22.657Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/d3/8f/d38fd08b-b3cb-47fe-9bc1-e88f4e78cc23.png"></media:thumbnail><category term="php-tricks" label="PHP Tricks"></category><summary type="html">В продолжение моей предидущей статьи хочу написать об ещё одном приятном нововведении в модуле mysqli
Начиная с версии PHP 8.2.0 появляется новая функция mysqli_execute_query или mysqli::execute_query если Вы предпочитаете объектно-ориентированный стиль.
Данная функция позволяет убить двух (трёх) зайцев сразу:
</summary><content type="html">
  &lt;p id=&quot;8Zuy&quot;&gt;В продолжение моей &lt;a href=&quot;https://dev.to/rozhnev/php-81-mysqli-bind-in-execute-eeg&quot; target=&quot;_blank&quot;&gt;предидущей статьи&lt;/a&gt; хочу написать об ещё одном приятном нововведении в модуле &lt;code&gt;mysqli&lt;/code&gt;&lt;br /&gt;Начиная с версии PHP 8.2.0 появляется новая функция &lt;code&gt;mysqli_execute_query &lt;/code&gt;или &lt;code&gt;mysqli::execute_query&lt;/code&gt; если Вы предпочитаете объектно-ориентированный стиль.&lt;br /&gt;Данная функция позволяет убить двух (трёх) зайцев сразу:&lt;br /&gt;&lt;/p&gt;
  &lt;ul id=&quot;ypYW&quot;&gt;
    &lt;li id=&quot;l9rO&quot;&gt;сгенерировать подготовленное выражение &lt;/li&gt;
    &lt;li id=&quot;He6y&quot;&gt;выполнить его подставив значения из массива переменных&lt;/li&gt;
    &lt;li id=&quot;9RPU&quot;&gt;получить результат в виде ассоциативного массива&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;LE8t&quot;&gt;Давайте попробуем это на практике:&lt;/p&gt;
  &lt;pre id=&quot;7j62&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php
$query = &amp;#x27;SELECT Name FROM City WHERE District=? ORDER BY Name LIMIT 5&amp;#x27;;

/* здесь происходит магия */
$result = $mysqli-&amp;gt;execute_query($query, [&amp;#x27;Nordrhein-Westfalen&amp;#x27;]);
/* здесь происходит магия */

foreach ($result as $row) {
    printf(&amp;quot;%s \n&amp;quot;, $row[&amp;quot;Name&amp;quot;]);
}&lt;/pre&gt;
  &lt;p id=&quot;M1Py&quot;&gt;Вы можете проверить этот код на &lt;a href=&quot;https://phpize.online/s/LU&quot; target=&quot;_blank&quot;&gt;PHPize.online&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:how_to_get_all_variables_by_name</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/how_to_get_all_variables_by_name?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How to get all variables by name</title><published>2022-11-23T17:33:28.276Z</published><updated>2022-11-23T17:33:28.276Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">Assume we have in our code several variables named as $start1, $start2 .. $startN and we don't know how many such variables we have.</summary><content type="html">
  &lt;p id=&quot;6DCR&quot;&gt;Assume we have in our code several variables named as $start1, $start2 .. $startN and we don&amp;#x27;t know how many such variables we have.&lt;/p&gt;
  &lt;p id=&quot;uPUE&quot;&gt;How we can get (print values) of All such variables?&lt;/p&gt;
  &lt;p id=&quot;emNL&quot;&gt;We can do this using &lt;code&gt;&lt;strong&gt;get_defined_vars.&lt;/strong&gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;Y1Mo&quot;&gt;This function returns array of all defined variables, and after that we can filter this array only for variables that names starts with &amp;quot;start&amp;quot;:&lt;/p&gt;
  &lt;pre id=&quot;Vh5f&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php

    $start1 = 10;
    $start2 = 20;
    $start3 = 30;
    $start4 = 40;
    $start5 = 50;
    
    //get all defined vars
    $vars = get_defined_vars();
    
    foreach($vars as $var=&amp;gt;$val) {
        if (substr($var, 0, 5) == &amp;#x27;start&amp;#x27;) {
            printf(&amp;#x27;$%s = %s &amp;#x27;. PHP_EOL, $var, $val);
        }
    }
&lt;/pre&gt;
  &lt;p id=&quot;JRsr&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php81/61035a896ff9ca31959a7635048654d3/&quot; target=&quot;_blank&quot;&gt;PHPize - online editor&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:sum_of_one_multidimensional_array_column</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/sum_of_one_multidimensional_array_column?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How to get sum of one multidimensional array column?</title><published>2022-09-11T20:52:29.127Z</published><updated>2022-09-11T20:52:29.127Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">php code online</summary><content type="html">
  &lt;pre id=&quot;4Nua&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php
$data = [
    [&amp;#x27;id&amp;#x27; =&amp;gt; &amp;#x27;3202&amp;#x27;,&amp;#x27;total&amp;#x27; =&amp;gt; &amp;#x27;5&amp;#x27;],
    [&amp;#x27;id&amp;#x27; =&amp;gt; &amp;#x27;3190&amp;#x27;,&amp;#x27;total&amp;#x27; =&amp;gt; &amp;#x27;2&amp;#x27;],
    [&amp;#x27;id&amp;#x27; =&amp;gt; &amp;#x27;3199&amp;#x27;,&amp;#x27;total&amp;#x27; =&amp;gt; &amp;#x27;5&amp;#x27;]
];

$total_column = array_column($data, &amp;#x27;total&amp;#x27;);

$sum = array_sum($total_column);

printf(&amp;#x27;The sum of total column: %s&amp;#x27;, $sum);
&lt;/pre&gt;
  &lt;p id=&quot;j0JQ&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php8/01044d79182c9bffd2e9997908ac8759/&quot; target=&quot;_blank&quot;&gt;php code online&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:generate_random_string_in_PHP</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/generate_random_string_in_PHP?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How to generate random string in PHP?</title><published>2022-09-10T18:58:13.767Z</published><updated>2022-11-21T20:11:13.958Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">The simplest way is using bin2hex function:</summary><content type="html">
  &lt;p id=&quot;9bpC&quot;&gt;The simplest way is using bin2hex function:&lt;/p&gt;
  &lt;pre id=&quot;Qszy&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php
$str_len = 8;
$random_string = bin2hex(random_bytes($str_len));

echo $random_string;
&lt;/pre&gt;
  &lt;p id=&quot;KDcq&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php8/63425b66dc70c9881550b6fe1d71d5a6/&quot; target=&quot;_blank&quot;&gt;PHP online sandbox&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qRKq&quot;&gt;The another function is base64_encode.  Use it when you don&amp;#x27;t care about special characters.&lt;/p&gt;
  &lt;pre id=&quot;eKsB&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php

$str_len = 8;
echo base64_encode(random_bytes($str_len));&lt;/pre&gt;
  &lt;p id=&quot;p6HW&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php8/4ab51a0d57fb9a6843fb8970417df203/&quot; target=&quot;_blank&quot;&gt;PHPize.online&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:effective_way_filter_multidimensional_array</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/effective_way_filter_multidimensional_array?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>What effective way to filter one multidimensional array by another?</title><published>2022-09-02T11:10:04.212Z</published><updated>2022-09-16T10:43:06.109Z</updated><summary type="html">Let we have 2 multidimensional arrays:</summary><content type="html">
  &lt;p id=&quot;qGGy&quot;&gt;Let we have 2 multidimensional arrays:&lt;/p&gt;
  &lt;pre id=&quot;a339&quot; data-lang=&quot;php&quot;&gt;$arr1 = [
    [&amp;quot;URL&amp;quot; =&amp;gt; &amp;quot;/1/1/1&amp;quot;, &amp;quot;cnt&amp;quot; =&amp;gt; &amp;quot;1&amp;quot;],
    [&amp;quot;URL&amp;quot; =&amp;gt; &amp;quot;/2/2/2&amp;quot;, &amp;quot;cnt&amp;quot; =&amp;gt; &amp;quot;1&amp;quot;],
    [&amp;quot;URL&amp;quot; =&amp;gt; &amp;quot;/3/3/3&amp;quot;, &amp;quot;cnt&amp;quot; =&amp;gt; &amp;quot;1&amp;quot;]
];

$arr2 = [
    [&amp;quot;URL&amp;quot; =&amp;gt; &amp;quot;/2/2/2&amp;quot;, &amp;quot;cnt&amp;quot; =&amp;gt; &amp;quot;1&amp;quot;],
    [&amp;quot;URL&amp;quot; =&amp;gt; &amp;quot;/4/4/4&amp;quot;, &amp;quot;cnt&amp;quot; =&amp;gt; &amp;quot;1&amp;quot;]
];&lt;/pre&gt;
  &lt;p id=&quot;df06&quot;&gt;The problem is filer out all records from first array where exists records with same value of &amp;quot;URL&amp;quot; field&lt;/p&gt;
  &lt;p id=&quot;OEXK&quot;&gt;Of course we can to use nested loops for this, but this is not best way&lt;/p&gt;
  &lt;p id=&quot;j1UV&quot;&gt;The most effective solution is build map of all values of URL from second array and after use array_filter function:&lt;/p&gt;
  &lt;pre id=&quot;sKf6&quot; data-lang=&quot;php&quot;&gt;$url2arr = array_column($arr2, &amp;#x27;url&amp;#x27;, &amp;#x27;url&amp;#x27;);

$res = array_filter($arr1, fn($el)=&amp;gt;!isset($url2arr[$el[&amp;#x27;url&amp;#x27;]]));

print_r($res);&lt;/pre&gt;
  &lt;p id=&quot;zthg&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php81/be9ab8f0974d7f20bdb02415526c22e7/&quot; target=&quot;_blank&quot;&gt;php code online&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:round_number_to_second_digit</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/round_number_to_second_digit?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How round number up to second digit?</title><published>2022-09-02T10:51:50.353Z</published><updated>2022-09-16T10:44:03.971Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">The problem: below numbers should be rounded as described</summary><content type="html">
  &lt;p id=&quot;Kk2W&quot;&gt;&lt;strong&gt;The problem:&lt;/strong&gt; below numbers should be rounded as described&lt;/p&gt;
  &lt;pre id=&quot;v6Nv&quot;&gt;1256 »» 1300
1200,98 »» 1300
138 »» 140
11,01 »» 12&lt;/pre&gt;
  &lt;p id=&quot;s0Jn&quot;&gt;For solve this problem we can use log10 function in next way:&lt;/p&gt;
  &lt;pre id=&quot;lWNg&quot; data-lang=&quot;php&quot;&gt;&amp;lt;?php
function myRound($n) {
  $d = (int)log10($n) - 1;
  return ceil($n/10**$d) * 10**$d;
}&lt;/pre&gt;
  &lt;p id=&quot;7oTK&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/undefined/php/php81/ad7aa49c4b29a1d6b0f1b731d1ef8a3f&quot; target=&quot;_blank&quot;&gt;PHP code online&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;gkbt&quot;&gt;Result of code execution:&lt;/p&gt;
  &lt;pre id=&quot;4uEz&quot; data-lang=&quot;php&quot;&gt;printf (&amp;quot;%d &amp;gt;&amp;gt; %d&amp;quot; . PHP_EOL, 1256, myRound(1256));
printf (&amp;quot;%d &amp;gt;&amp;gt; %d&amp;quot; . PHP_EOL, 1200.98, myRound(1200.98));
printf (&amp;quot;%d &amp;gt;&amp;gt; %d&amp;quot; . PHP_EOL, 138, myRound(138));
printf (&amp;quot;%d &amp;gt;&amp;gt; %d&amp;quot; . PHP_EOL, 11.001, myRound(11.001));&lt;/pre&gt;
  &lt;pre id=&quot;zook&quot;&gt;1256 &amp;gt;&amp;gt; 1300
1200 &amp;gt;&amp;gt; 1300
138 &amp;gt;&amp;gt; 140
11 &amp;gt;&amp;gt; 12&lt;/pre&gt;

</content></entry><entry><id>phpize:FFBw-rPtj42</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/FFBw-rPtj42?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>Как в кириллице найти подмену на латинские символы?</title><published>2022-09-01T19:15:19.353Z</published><updated>2022-09-01T19:15:19.353Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">Вопрос:
Имеется текст на русском языке. Некоторые из символов заменены на латинские с идентичным написанием. (русская баква &quot;а&quot; на латинскую &quot;эй&quot; и т. д.) Требуется найти подмены в тексте.</summary><content type="html">
  &lt;p id=&quot;0D0z&quot;&gt;&lt;strong&gt;Вопрос:&lt;/strong&gt;&lt;br /&gt;Имеется текст на русском языке. Некоторые из символов заменены на латинские с идентичным написанием. (русская баква &amp;quot;а&amp;quot; на латинскую &amp;quot;эй&amp;quot; и т. д.) Требуется найти подмены в тексте.&lt;/p&gt;
  &lt;p id=&quot;Wjzc&quot;&gt;&lt;strong&gt;Дано:&lt;/strong&gt;&lt;br /&gt; Текст: &amp;quot;Вакaнсия дня! Кpyпная тopгoвая cеть в связи с расширением объявляет набор coтpудникoв&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;p01E&quot;&gt;&lt;strong&gt;Решение:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;jVwJ&quot; data-lang=&quot;php&quot;&gt;  
&amp;lt;?php

// присвоим значения переменным

$str = &amp;quot;Вакaнсия дня! Кpyпная тopгoвая cеть в связи с расширением объявляет набор coтpудникoв&amp;quot;;

// используем регулярные выражения для поиска латинских символов

$pattern = &amp;quot;/\w/m&amp;quot;;
echo preg_match_all($pattern, $str, $matches) ? &amp;#x27;в тексте найдены подмены&amp;#x27; : &amp;#x27;чисто&amp;#x27;;

// для наглядности заменим латинские символы на занки вопроса

echo preg_replace(&amp;quot;/\w/m&amp;quot;, &amp;#x27;?&amp;#x27;, $str);&lt;/pre&gt;
  &lt;p id=&quot;Oa5B&quot;&gt;PHP editor online: &lt;a href=&quot;https://phpize.online/sql/mysql57/null/php/php8/1150f69e356d833dbd01ff1607df52d9/&quot; target=&quot;_blank&quot;&gt;https://phpize.online/sql/mysql57/null/php/php8/1150f69e356d833dbd01ff1607df52d9/&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:use_str_pad_function_with_Unicode_string</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/use_str_pad_function_with_Unicode_string?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How to use str_pad function with Unicode string?</title><published>2022-09-01T19:11:18.410Z</published><updated>2022-09-16T10:44:47.635Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">Data: Array of Unicode strings (football in different languages):</summary><content type="html">
  &lt;p id=&quot;0Z77&quot;&gt;&lt;strong&gt;Data:&lt;/strong&gt; Array of Unicode strings (football in different languages):&lt;/p&gt;
  &lt;pre id=&quot;fMDk&quot;&gt;  [
    &amp;#x27;football&amp;#x27;,
    &amp;#x27;футбол&amp;#x27;, // football in russian
    &amp;#x27;ფეხბურთი&amp;#x27;, // football in georgian
    &amp;#x27;хөл бөмбөг&amp;#x27;, // football in mongolian
    &amp;#x27;bóng đá&amp;#x27;  // football in vietnamese
  ]&lt;/pre&gt;
  &lt;p id=&quot;oLoK&quot;&gt;&lt;strong&gt;The problem:&lt;/strong&gt; Can not pad Unicode strings to same length using builtin function&lt;/p&gt;
  &lt;pre id=&quot;lf3j&quot; data-lang=&quot;php&quot;&gt;  
&amp;lt;?php
// assign data to variables
$games = [
    &amp;#x27;football&amp;#x27;,
    &amp;#x27;футбол&amp;#x27;, // football in russian
    &amp;#x27;ფეხბურთი&amp;#x27;, // football in georgian
    &amp;#x27;хөл бөмбөг&amp;#x27;, // football in mongolian
    &amp;#x27;bóng đá&amp;#x27;  // football in vietnamese
];

// loop through $games array and print rows with built-in str_pad function
foreach ($games as $game) {
    echo str_pad($game, 20) . &amp;#x27;|&amp;#x27; . PHP_EOL;
}&lt;/pre&gt;
  &lt;p id=&quot;7laL&quot;&gt;&lt;strong&gt;Wrong result:&lt;/strong&gt; strings have different lengths after apply &lt;em&gt;str_pad()&lt;/em&gt; function&lt;/p&gt;
  &lt;pre id=&quot;AM6G&quot;&gt;  football            |
  футбол        |
  ფეხბურთი|
  хөл бөмбөг |
  bóng đá          |&lt;/pre&gt;
  &lt;pre id=&quot;R2k8&quot; data-lang=&quot;php&quot;&gt;  
&amp;lt;?php
function mb_str_pad( $input, $pad_length, $pad_string = &amp;#x27; &amp;#x27;, $pad_type = STR_PAD_RIGHT) {
    $diff = strlen( $input ) - mb_strlen( $input );
    return str_pad( $input, $pad_length + $diff, $pad_string, $pad_type );
}

// loop through $games array and print rows with custom mb_str_pad function
foreach ($games as $game) {
    echo mb_str_pad($game, 20) . &amp;#x27;|&amp;#x27; . PHP_EOL;
}&lt;/pre&gt;
  &lt;p id=&quot;Mkvb&quot;&gt;&lt;strong&gt;Result:&lt;/strong&gt; the strings have same lengths after apply custom function &lt;em&gt;mb_str_pad()&lt;/em&gt;&lt;/p&gt;
  &lt;pre id=&quot;z24e&quot;&gt;  football            |
  футбол              |
  ფეხბურთი           |
  хөл бөмбөг          |
  bóng đá             |&lt;/pre&gt;
  &lt;p id=&quot;SQDR&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/null/php/php8/f41cbbf648d8cc8647ddf45d806b898f/&quot; target=&quot;_blank&quot;&gt;PHP code online&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>phpize:find_the_closest_number_in_array</id><link rel="alternate" type="text/html" href="https://blog.phpize.online/find_the_closest_number_in_array?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=phpize"></link><title>How to find the closest number in an array?</title><published>2022-09-01T19:04:40.835Z</published><updated>2022-09-16T10:45:34.851Z</updated><category term="php-tricks" label="PHP Tricks"></category><summary type="html">Question: Given a number. What way to find the number closest to given in unsorted array?</summary><content type="html">
  &lt;p id=&quot;y3QH&quot;&gt;&lt;strong&gt;Question:&lt;/strong&gt; Given a number. What way to find the number closest to given in unsorted array?&lt;/p&gt;
  &lt;p id=&quot;TEXQ&quot;&gt;&lt;strong&gt;Data:&lt;/strong&gt;&lt;br /&gt; Unsorted numbers array: &lt;strong&gt;[5, 56, 23, 1, 89, 3]&lt;/strong&gt;&lt;br /&gt; Number: &lt;strong&gt;90&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;g2QE&quot; data-lang=&quot;php&quot;&gt;  
&amp;lt;?php

// assign data to variables

$array  = [5, 56, 23, 1, 89, 3];
$number = 90;

// calculate distances between given number and each element of array

$distances = array_map(
  function($el) use ($number) {
    return abs($el - $number);
  },
  $array 
);

//get monimal distance position

$index = array_keys($distances, min($distances))[0];

// print out closest number

echo &amp;quot;Closest number is: &amp;quot; . $array[$index];&lt;/pre&gt;
  &lt;p id=&quot;W85v&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;1Tf1&quot;&gt;&lt;a href=&quot;https://phpize.online/sql/mysql57/null/php/php8/c9c3c872213c19b5d0a368ce911bcd38/&quot; target=&quot;_blank&quot;&gt;PHP code online&lt;/a&gt;&lt;/p&gt;

</content></entry></feed>