أيمن دوبابي نشر 9 مارس 2018 أرسل تقرير مشاركة نشر 9 مارس 2018 قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة : Warning: explode() expects parameter 2 to be string, array given in C:\AppServ\www\dollar.php on line 18 هذا هو ملف الـ dollar.php <?php function currency($amount,$from,$to){ $amount=urlencode($_POST['amount']); $from=urlencode($_POST['from']); $to=urlencode($_POST['to']); $url="http://www.google.com/ig/calculator?q=$amount$from=?$to"; $ch=curl_init(); $timeout=0; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0(compatible;dows NT 6.1)" ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $rawdata=curl_exec($ch); curl_close($ch); $data=explode('"', $rawdata); $data=explode(' ', $data ); $var=$data[0]; return round($var,2); //تقريب العدد الى رقمين } if(isset($_POST['convert'])) { echo currency($amount,$from,$to); } ?> <form action="<?php echo $PHP_SELF; ?>" method="post"> <input type="text" name="amount" /> from:<select name="from"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> TO:<select name="to"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> <input type="submit" name="convert" value="convert" /> </form> dollar.php اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Mohamed Vall Ibrahim نشر 10 مارس 2018 أرسل تقرير مشاركة نشر 10 مارس 2018 الدالة explode في PHP تستقبل متغيرين كباراميتر والاثنين يجب ان يكونا نصين والرسالة تقول انك قمت باعطائها مصفوفة في الباراميتر الثاني وهذا خطأ . الدالة مهمتها هي تحويل نص الي مصفوفة حسب محدد انت تعطيه للدالة في الباراميتر الاول يكون هذا المحدد يوجد في النص . مثلا الكود التالي متغير نصي ولكن الكلمات يتم التفرقة بينهم بالرمز "," ستعطي للدالة الرمز "," في المتغير الاول والثاني تعطيها النص او الكلمات التي تريد تحويلها الي مصفوفة : $names = "one, two, three"; $names_as_arr = explode(',', $names); print_r($names_as_arr); // النتيجة // Array ( [0] => one [1] => two [2] => three ) ارجو ان يكون واضحا السبب انك اعطيت للدالة في الباراميتر الثاني مصفوفة بينما هي تتوقع نص . 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Mohamed Vall Ibrahim نشر 12 مارس 2018 أرسل تقرير مشاركة نشر 12 مارس 2018 بتاريخ On 3/11/2018 at 06:25 قال روب رات: شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد الحل اخي هو ان لا تعطي للدالة explode مصفوفة ذكرت لك سابقا ان الدالة explode تقوم بارجاع مصفوفة وانها لا تستقبل مصفوفات في الباراميترز وانما نصوص فقط وشاهد الكود الذي كتبته السطر الأول المتغير $data عبارة عن مصفوفة وانت اعطيته للدالة . $data=explode('"', $rawdata); $data=explode(' ', $data ); لا اعرف ماهي نتيجة المتغير $rawdata ولا اعرف ماذا تريد ان تفعل لذالك شرحت لك سبب الخطأ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 محمود قاسم2 نشر 20 مارس 2018 أرسل تقرير مشاركة نشر 20 مارس 2018 يجب كتابة : $data[0] اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
-1 أيمن دوبابي نشر 10 مارس 2018 الكاتب أرسل تقرير مشاركة نشر 10 مارس 2018 شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
أيمن دوبابي
قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة :
هذا هو ملف الـ dollar.php
dollar.php
رابط هذا التعليق
شارك على الشبكات الإجتماعية
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.