أساسيات السلاسل النصية وضمّها
أنشئوا السلاسل النصية في PHP وادمجوها باستخدام . والاستيفاء.
أساسيات السلاسل النصية وضمّها درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
السلاسل النصية في PHP
السلسلة النصية هي تسلسل من المحارف. سلاسل PHP آمنة للتعامل مع البيانات الثنائية ويمكن أن تحتوي على أي بايت. وهي غير قابلة للتغيير — إذ تعيد عمليات السلاسل النصية سلاسل جديدة ولا تعدّل السلاسل الأصلية.
علامتا الاقتباس المفردة والمزدوجة
السلاسل المحاطة بعلامتي اقتباس مفردتين تُعامل حرفيًا؛ أما السلاسل المحاطة بعلامتي اقتباس مزدوجتين فتحلّل المتغيرات وتسلسلات الهروب:
<?php
$name = 'Alice';
echo 'Hello $name\n'; // Hello $name\n — literal
echo "Hello $name\n"; // Hello Alice — parsed
// Prefer single quotes for performance when no interpolation neededالربط باستخدام .
استخدم عامل النقطة . لربط السلاسل النصية:
<?php
$first = 'Hello';
$last = 'World';
$msg = $first . ', ' . $last . '!';
echo $msg; // Hello, World!
// Append with .=
$log = 'Start';
$log .= ' -> Process';
$log .= ' -> End';
echo $log; // Start -> Process -> Endطول السلسلة: strlen مقابل mb_strlen
تعيد strlen() عدد البايتات؛ أما مع السلاسل متعددة البايتات (UTF-8)، فاستخدم mb_strlen():
<?php
$ascii = 'Hello';
$utf8 = 'Merhaba'; // Turkish
$emoji = '😀';
echo strlen($ascii); // 5
echo mb_strlen($ascii); // 5
echo strlen($emoji); // 4 (UTF-8 bytes)
echo mb_strlen($emoji); // 1 (one character)تكرار السلاسل النصية
كرّر سلسلة نصية N مرة باستخدام str_repeat():
<?php
echo str_repeat('ab', 3); // ababab
echo str_repeat('-', 20); // --------------------
// Build a simple separator line:
echo str_repeat('=', 40) . PHP_EOL;دوال حالة الأحرف
حوّل حالة أحرف السلسلة النصية:
<?php
$str = 'hello WORLD php';
echo strtoupper($str); // HELLO WORLD PHP
echo strtolower($str); // hello world php
echo ucfirst($str); // Hello WORLD php
echo ucwords($str); // Hello WORLD Php
// Multi-byte safe versions:
echo mb_strtoupper('istanbul'); // ISTANBULإزالة المسافات البيضاء
أزل المسافات البيضاء أو المحارف المحددة من بداية السلسلة ونهايتها:
<?php
$raw = ' hello world ';
echo trim($raw); // 'hello world'
echo ltrim($raw); // 'hello world '
echo rtrim($raw); // ' hello world'
// Trim specific characters
echo trim('/path/to/page/', '/'); // 'path/to/page'مقارنة السلاسل النصية
قارن السلاسل النصية باستخدام العوامل أو الدوال الأصلية:
<?php
// == uses type juggling; === is strict
var_dump('abc' === 'abc'); // true
var_dump('abc' === 'ABC'); // false
// Case-insensitive comparison
var_dump(strcasecmp('PHP', 'php') === 0); // true
// Lexicographic comparison
echo strcmp('apple', 'banana'); // negative (apple < banana)فهرسة السلاسل النصية
يمكنك الوصول إلى المحارف الفردية باستخدام الفهرس وبترميز الأقواس:
<?php
$str = 'PHP';
echo $str[0]; // P
echo $str[2]; // P
echo $str[-1]; // P (last char)
// Modify a character
$str[1] = 'H';
echo $str; // PHP (unchanged — strings are semi-mutable this way)سلسلة Heredoc
اكتب السلاسل النصية الطويلة باستخدام heredoc — وهو مفيد لإنشاء HTML:
<?php
$user = 'Alice';
$role = 'Admin';
$html = <<<HTML
<div class="user-card">
<h2>$user</h2>
<span class="badge">$role</span>
</div>
HTML;
echo $html;تنسيق الأرقام
نسّق الأرقام كسلاسل نصية باستخدام number_format وsprintf:
<?php
$amount = 1234567.891;
echo number_format($amount, 2); // 1,234,567.89
echo sprintf('%010.2f', 9.5); // 0000009.50
echo sprintf('%+d', -42); // -42
echo sprintf('%+d', 42); // +42تحقّق سريعًا
أي دالة تحسب عدد المحارف في سلسلة UTF-8 بشكل صحيح؟
مراجعة: أساسيات السلاسل النصية
المفاهيم الأساسية للسلاسل النصية:
- السلاسل المحاطة بعلامتي اقتباس مفردتين تُعامل حرفيًا؛ أما المحاطة بعلامتي اقتباس مزدوجتين فتحلّل المتغيرات
- اربط باستخدام
.وألحق باستخدام.= - استخدم
mb_strlen()لحساب المحارف متعددة البايتات - استخدم
strtoupper/lowerوucfirst/wordsلتحويل حالة الأحرف - استخدم
trim/ltrim/rtrimلإزالة المسافات البيضاء
التالي: البحث عن النص واستبداله داخل السلاسل النصية.
الأسئلة الشائعة
هل درس «أساسيات السلاسل النصية وضمّها» مجاني؟
نعم — نص درس «أساسيات السلاسل النصية وضمّها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «أساسيات السلاسل النصية وضمّها»؟
أنشئوا السلاسل النصية في PHP وادمجوها باستخدام . والاستيفاء. تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «أساسيات السلاسل النصية وضمّها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات السلاسل النصية وضمّها
- البحث والاستبدال في السلاسل النصية
- دوال السلاسل الجزئية والحشو
- تقسيم السلاسل النصية وضمّها