0Pricing
PHP Academy · درس

تقسيم السلاسل النصية وضمّها

حوّلوا بين السلاسل النصية والمصفوفات باستخدام explode وimplode وchunk_split

تقسيم السلاسل النصية وضمّها درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

explode() وimplode()

أهم دالتين للتحويل بين السلاسل النصية والمصفوفات:

  • explode($delimiter, $string) — تقسيم السلسلة النصية إلى مصفوفة
  • implode($glue, $array) — دمج المصفوفة في سلسلة نصية

أساسيات explode()

قسّم سلسلة نصية عند فاصل:

<?php
$csv = 'Alice,Bob,Carol,Dave';

$names = explode(',', $csv);
print_r($names);
// ['Alice', 'Bob', 'Carol', 'Dave']

// Limit the number of parts
$parts = explode(',', $csv, 2);
print_r($parts);
// ['Alice', 'Bob,Carol,Dave']

implode() وjoin()

ادمج مصفوفة من السلاسل النصية في سلسلة واحدة:

<?php
$tags = ['php', 'mysql', 'linux'];

echo implode(', ', $tags);    // php, mysql, linux
echo implode(' | ', $tags);   // php | mysql | linux
echo implode('', $tags);      // phpmysqllinux

// join() is an alias for implode()
echo join('-', $tags);  // php-mysql-linux

تحليل أسطر CSV

استخدم str_getcsv() لتحليل سطر CSV، بما في ذلك الحقول المحاطة بعلامات اقتباس:

<?php
$line = 'Alice,"New York, NY",30';

$fields = str_getcsv($line);
print_r($fields);
// ['Alice', 'New York, NY', '30']

preg_split() — التقسيم حسب نمط

قسّم وفق نمط تعبير نمطي للتعامل مع الفواصل المعقّدة:

<?php
$text = 'one1two2three3four';

// Split on any digit
$parts = preg_split('/[0-9]/', $text);
print_r($parts);
// ['one', 'two', 'three', 'four']

// Split on whitespace (one or more)
$words = preg_split('/\s+/', '  hello   world  ');
print_r(array_filter($words)); // ['hello', 'world']

str_split()

تقسّم str_split() سلسلة نصية إلى مصفوفة من الأجزاء بالحجم المحدد:

<?php
$str = 'Hello';

// Split into individual characters
$chars = str_split($str);
print_r($chars); // ['H','e','l','l','o']

// Split into chunks of 2
$chunks = str_split('ABCDEF', 2);
print_r($chunks); // ['AB','CD','EF']

إنشاء سلاسل استعلام

استخدم http_build_query() لتجميع سلاسل استعلام URL من المصفوفات:

<?php
$params = [
    'search' => 'php tutorial',
    'page'   => 2,
    'sort'   => 'date',
];

$query = http_build_query($params);
echo $query;
// search=php+tutorial&page=2&sort=date

echo '/posts?' . $query;

تحليل سلاسل استعلام

حلّل سلسلة استعلام URL إلى مصفوفة باستخدام parse_str():

<?php
$qs = 'name=Alice&age=30&city=London';

parse_str($qs, $params);
print_r($params);
// ['name'=>'Alice', 'age'=>'30', 'city'=>'London']

// Or use parse_url + parse_str for full URLs
$url    = 'https://example.com/search?q=php&page=1';
$query  = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
echo $params['q']; // php

استخدام implode في عبارات SQL IN

استخدام كلاسيكي لـ implode — إنشاء عبارات SQL IN من المصفوفات:

<?php
$ids = [1, 2, 3, 4, 5];
$placeholders = implode(',', array_fill(0, count($ids), '?'));

$sql = "SELECT * FROM users WHERE id IN ($placeholders)";
echo $sql;
// SELECT * FROM users WHERE id IN (?,?,?,?,?)
// Use prepared statements with these placeholders!

تحويل السلسلة النصية إلى مصفوفة كلمات

قسّم جملة إلى كلمات ثم عالج كل كلمة:

<?php
$sentence = 'The quick brown fox';
$words = explode(' ', $sentence);

$reversed = array_reverse($words);
echo implode(' ', $reversed);
// fox brown quick The

$wordCount = count($words);
echo "Word count: $wordCount"; // 4

sprintf مع نشر المصفوفة

اجمع بين implode وsprintf للحصول على تنسيق مرن:

<?php
$cols   = ['name', 'email', 'age'];
$values = ['Alice', 'alice@test.com', 30];

$colList = implode(', ', $cols);
$valPlaceholders = implode(', ', array_fill(0, count($values), '?'));

$sql = "INSERT INTO users ($colList) VALUES ($valPlaceholders)";
echo $sql;
// INSERT INTO users (name, email, age) VALUES (?, ?, ?)

تحقّق سريعًا

ماذا تُعيد explode(',', 'a,b,c', 2)؟

مراجعة: التقسيم والدمج

الدوال الأساسية:

  • explode($delim, $str) — تحويل السلسلة النصية إلى مصفوفة
  • implode($glue, $arr) — تحويل المصفوفة إلى سلسلة نصية
  • str_split($str, $len) — التقسيم إلى أجزاء ثابتة
  • preg_split($pattern, $str) — التقسيم وفق تعبير نمطي
  • str_getcsv() — تحليل CSV مع الحقول المحاطة بعلامات اقتباس
  • http_build_query() — تحويل المصفوفة إلى سلسلة استعلام URL

الأسئلة الشائعة

هل درس «تقسيم السلاسل النصية وضمّها» مجاني؟

نعم — نص درس «تقسيم السلاسل النصية وضمّها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «تقسيم السلاسل النصية وضمّها»؟

حوّلوا بين السلاسل النصية والمصفوفات باستخدام explode وimplode وchunk_split تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تقسيم السلاسل النصية وضمّها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات السلاسل النصية وضمّها
  2. البحث والاستبدال في السلاسل النصية
  3. دوال السلاسل الجزئية والحشو
  4. تقسيم السلاسل النصية وضمّها
← العودة إلى PHP Academy