اذهب إلى المحتوى
  • 0

تحويل مصفوفة من شكل إلى آخر فى PHP

Abdelnaem Atia

السؤال

السلام عليكم

كيف يمكننى تحويل المصفوفة arr1 والتى تحتوى على روابط فقط إلى الشكل الذى تبدو عليه فى المتغير  arr2

$arr1 = ["https://google.com", "https://facebook.com", "https://twitter.com"];

// $arr2 = "[\"https://google.com\", \"https://facebook.com\", \"https://twitter.com\"]"

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

الدالة addslashes التي تضيف escape letter قبل "

الدالة substr لقص آخر محرفين من السلسلة والناتجين من الحلقة الفراغ و , أي " ,"

<!DOCTYPE html>
<html>
<body>

<?php

$arr1 = ["https://google.com", "https://facebook.com", "https://twitter.com"];

$arr2 = "\"[";

foreach ($arr1 as $str) {
    $arr2 .= addslashes('"'. $str . '"' . ', ');
}

$arr2 = substr($arr2, 0, -2);

$arr2 .= "]\"";

echo $arr2;
?> 

</body>
</html>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

هل تقصد تحويلها إلى String عن طريق json_encode؟
تمكنك دالة json_encode من تحويل Data Structures من PHP إلى JSON.
مثال:
 

<?php

$links = [ "https://google.com", "https://facebook.com", "https://twitter.com" ];

echo json_encode( $links );

أيضاً، يمكنك عكس ذلك عن طريق json_decode.

تم التعديل في بواسطة إسلام عبدالعزيز
إضافة مثال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

إذا كنت لا تريد تخطي العلامات، يمكنك إستخدام htmlspecialchars.
مثال:
 

<?php

$arr = [
	"https://google.com",
	"https://facebook.com",
	"https://twitter.com"
];

$stringified = htmlspecialchars( json_encode($arr), ENT_QUOTES, 'UTF-8' );
var_dump( $stringified ); // الشكل المطلوب

هذه الصفحة تحتوي على جدول به جميع العلامات التي يمكن حفظها: https://www.php.net/manual/en/function.htmlspecialchars.php

تم التعديل في بواسطة إسلام عبدالعزيز
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك إضافة ذلك عن طريق برمجة دالة تقوم بإضافة ما تريد لكل عنصر بالمصفوفة ومن ثم تمريرها إلى دالة array_map 

$arr1 = ["https://google.com", "https://facebook.com", "https://twitter.com"];
function addSlashesToArray($str)
{
    return "\\".$str."\\";
}
$newArray = array_map("addSlashesToArray", $arr1);//array with the new values
print_r ($newArray);

طبعا دالة array_map  دالة أخرى يحددها المستخدم على كل عنصر موجود في المصفوفات الممررة.

والنتيجة تكون 

Array ( [0] => \https://google.com\ [1] => \https://facebook.com\ [2] => \https://twitter.com\ )

 

 

23.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

جربت الداله json_encode ولم تقدم لى ما اريده, وكما ترى اريد المصفوفة كــ string ويتم تخطى علامات الإقتباس

تم التعديل في بواسطة Abdelnaem Atia
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...