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
Ce atribut e folosit in tag-ul <img> pentru adresa imaginii?
href src rel
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS ascunde elementul in pagina?
display: none; display: inline; position: relative;
#id {
  display: none;
}
Ce instructiune opreste executia lui while() sau for() ?
continue prompt() break
for(var i = 0; i< 8; i++) {
  if(i > 1) break;
  alert(i);
}
Indicati functia utilizata pentru a crea constante.
define() include() defined()
define("CONSTANT_NAME", "value");
echo CONSTANT_NAME;
Care este forma de plural a substativului "class" (clasa)?
classes clases clasis
This school has three classes.
- Scoala asta are trei clase.
Care este pluralul substativului "voz" (voce)?
vose voze voces
Escuché dos voces.
- Am auzit doua voci.
Impartire Sir Alfanumeric in Array

Last accessed pages

  1. Prepozitii - Prepositions (28834)
  2. Adjective - Exercitii si teste engleza incepatori (14786)
  3. Proverbe, expresii si zicatori (19479)
  4. Verbe reflexive 1 (9083)
  5. Download carti electronice si programe pentru Limba Engleza (39826)

Popular pages this month

  1. Conditional IF in Limba Engleza - Fraze Conditionale (1748)
  2. Exercitii engleza - English Tests and exercises - Grammar (1663)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1486)
  4. Curs HTML gratuit Tutoriale HTML5 (1172)
  5. Coduri pt culori (1170)