• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
َArray to string conversion
#1
درود

از مدیران و همراهان جهت راه اندازی این انجمن و فعالیت مفیدشون تشکر می کنم.

--------------

کد پی‌اچ‌پی:
    
    $all_infos 
array_merge$info,$file$sc,$fu );

  
$fields = array();

  foreach (
$all_infos as $key => $value) {
    if ( 
is_array($value) ) {
      
array_push$fields , array( "key" => $key"value" => implode(", "$value ) ) );
    } else {
      
array_push$fields , array( "key" => $key"value" => $value)   );
    }

  } 

توضیح :
آرایه هایی که مرج شده ودر all_info بارگزاری شده اند ,پیش از آن , در طول برنامه مقادیر مختلفی گرفته اند
آرایه های info و file از نوع انجمنی بوده و در خود تعدادی متغیر و آرایه دارند.

خطا:
کد:
PHP Notice: Array to string conversion in /dir/filename.php line ...
bool(true)

خطا از این خط گرفته شده:
کد:
array_push( $fields , array( "key" => $key, "value" => implode(", ", $value ) ) );

با توجه به مقادیر مختلفی که هر بار در آرایه های info& file &sc & fu بارگزاری می شوند , گاهی پیام خطای نشان داده شده , ایجاد می شود و گاهی ایجاد نمی شود و برنامه نرمال کار می کند ,برای همین نتونستم مشکل را رصد کنم.
شما چه احتمالاتی میدید که تولید چنین پیام خطایی کنه؟

سپاس از راهنمایی شما
  پاسخ
تشکر شده توسط :
#2
سلام
به این مثال دقت کنید
کد پی‌اچ‌پی:
$array=array(
    
'key0_1'=>'value0_1',
    
'key0_2'=>'value0_2'
);
echo 
implode(','$array);

$array=array(
    
'key1_1'=>array('value1_1'),
    
'key1_2'=>array('value1_2')
);
echo 
implode(','$array);

$array=array(
    
'key2_1'=>array('value2_1'=>'end_value2_1'),
    
'key2_2'=>array('value2_2'=>'end_value2_2')
);
echo 
implode(','$array); 
فقط آرایه اولیه برای تابع implode معتبره
  پاسخ
تشکر شده توسط : Y.P.Y niX
#3
ممنون بابت پاسختون .

اون پیام
کد:
bool(true)
از چی ناشی شده؟

توی نت نتونستم مطلب مفیدی پیدا کنم.

و اینکه پیشنهاد شما چیه که پیام خطا نگیرم ؟

ممنون بابت راهنمایی
Blush
  پاسخ
تشکر شده توسط :
#4
ارور دوم فکر نمیکنم از تابع implode باشه
توی خطا مینوسه در کدوم تابع خطا رخ داده
توی wamp نوع خطا و تابعی که از اون خطا رخ داده نشون میده
  پاسخ
تشکر شده توسط : niX
#5
تشکر بابت راهنمایی ها .

از آرایه های مرچ شده در طول برنامه خروجی گرفنم و مشکل پیام خطای اول پیدا شد و برطرف کردم..

برای پیام خطای دوم هنوز نتونستم کاری کنم هیچ ردی ازش نمی بینم ...
مگر برنامه نویس ها , از روی تجربه بتونن احتمالاتی بدن.

اینکه فرمودید توی خطا می نویسه در کدوم تابع خطا رخ داده , منظور کدوم خطا هست؟

من روی آپاچی هستم , منظور لاگ خطا در این آدرسه؟
کد:
/var/log/apache2/
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان