Curs Php-mysql

Functia prezentata in aceasta pagina poate fi utilizata in PHP pentru impartirea /separarea unui sir alfanumeric (un sir cu mai multe sub-siruri de forma: "Nume Numar", separate printr-un anumit caracter).
Aceasta functie separa "Nume" de "Numar", si le adauga separat in doua array-uri, in ordinea lor din sir.
- Vedeti exemplele si comentariile din cod.

Codul functiei

/*
 primeste 3 argumente:
 - $str = sirul alfanumeric,
 - $dlm1 = caracterul ce separa Nume de Numar
 - $dlm2 = caracterul ce separa perechile de sub-siruri: "Nume Numar"

 Un sir in felul acesta:
     "Nume[$dlm1]Numar[$dlm2]Nume[$dlm1]Numar"
  - caracterele de separare ($dlm1, si $dlm2) pot fi orice caracter, de exemplu: spatiu, liniuta, punct, virgula, etc.
 returneaza un array bidimensional, cu Nume si Numar din $str separate in doua array-uri, in ordinea lor din sir
*/
function splitNumeNumar($str, $dlm1, $dlm2) {
  // Curs PHP-MySQL: https://marplo.net/php-mysql/
  // array cu caractere ce trebuie escapate (cu '\') in RegExp
  $chrs = array('.','(',')','[',']','<','>','?',"'",'^','*','-','+','\\','/');
  if(in_array($dlm1, $chrs)) $dlm1 = '\\'.$dlm1;
  if(in_array($dlm2, $chrs)) $dlm2 = '\\'.$dlm2;

  // obtine un array cu perechile 'Nume-Numar' din $str
  if(preg_match_all('/([a-z \._\-'. $dlm1 . $dlm2. ']+[0-9]+)/i', $str, $mt)) {
    $re = array();              // variabila pt datele care vor fi returnate
    $nrmt = count($mt[0]);      // Numar de sub-siruri

    // parcurge sub-sirurile gasite
    for($i=0; $i<$nrmt; $i++) {
      // separa Nume de Numar, le adauga in array-ul $re
      if(preg_match('/([a-z \._\-'. $dlm1. ']+)([0-9]+)/i', $mt[0][$i], $mt2)) {
        $re['Nume'][$i] = trim($mt2[1], ' '. $dlm1);
        $re['num'][$i] = $mt2[2];
      }
    }

    return $re;
  }
  else return false;
}
- Exemplu:
<?php
// AICI adauga functia splitNumeNumar()

// sir cu Nume si Numar separate prin punct '.', perechile de sub-siruri separate prin virgula ','
$str1 = 'Curs PHP-MySQL.2013, CoursesWeb.net.2011, MarPlo.net.2009';
$split_str1 = splitNumeNumar($str1, '.', ',');

//  text cu Nume si Numar separate prin punct spatiu, perechile de sub-siruri separate prin virgula ','
$str2 = 'Code Snippets 12, Cod PHP 2011, MarPlo.net Cursuri 2009';
$split_str2 = splitNumeNumar($str2, ' ', ',');

//  sir cu Nume si Numar si perechile de sub-siruri separate prin spatiu
$str3 = 'Tutoriale PHP-MySQL 23 Lectii Ajax 9 Web Development 2013';
$split_str3 = splitNumeNumar($str3, ' ', ',');

// test
echo "<pre>// De la \$str1 \n";
var_export($split_str1);

echo "\n// De la \$str2 \n";
var_export($split_str2);

echo "\n// De la \$str3 \n";
var_export($split_str3);
echo '</pre>';
Rezultat:
// De la $str1 
array (
  'Nume' => array (
    0 => 'Curs PHP-MySQL',
    1 => 'CoursesWeb.net',
    2 => 'MarPlo.net',
  ),
  'num' => array (
    0 => '2013',
    1 => '2011',
    2 => '2009',
  )
)
// De la $str2 
array (
  'Nume' => array (
    0 => 'Code Snippets',
    1 => 'Cod PHP',
    2 => 'MarPlo.net Cursuri',
  ),
  'num' => array (
    0 => '12',
    1 => '2011',
    2 => '2009',
  )
)
// De la $str3 
array (
  'Nume' => array (
    0 => 'Tutoriale PHP-MySQL',
    1 => 'Lectii Ajax',
    2 => 'Web Development',
  ),
  'num' => array (
    0 => '23',
    1 => '9',
    2 => '2013',
  )
)

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Impartire Sir Alfanumeric in Array

Last accessed pages

  1. Substantivul din limba engleza - The Noun (59020)
  2. Ferestre Alert Prompt si Confirm (3200)
  3. Demonstrative (2050)
  4. getElementById si getElementsByTagName (565)
  5. Break si Continue (3991)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (695)
  2. Coduri pt culori (311)
  3. Exercitii engleza - English Tests and exercises - Grammar (306)
  4. Gramatica limbii engleze - Prezentare Generala (298)
  5. Cursuri limba engleza gratuite si lectii online (278)