This is more of a PHP question than a WordPress question.
Try to replace
$temp = explode( "|", $am );
with
$temp = explode( "|", $am[0] );
since $am
is an array.
You should also consider using isset()
to check if the array items exists.
Here is one idea:
<?php
$affman = get_post_meta( $post->ID, 'affiliatemanager', FALSE );
if ( is_array( $affman ) ){
$li = '';
foreach($affman as $am) {
$temp = array();
if( isset( $am[0] ) )
$temp = explode( '|', $am[0] );
if( count( $temp ) === 5 ){
$am_name = $temp[0];
$am_email = $temp[1];
$am_aim = $temp[2];
$am_phone = $temp[3];
$am_skype = $temp[4];
$li .= sprintf( '<li>Name: %s | Email: %s | AIM: %s | Phone: %s | Skype: %s </li>',
$am_name,
$am_email,
$am_aim,
$am_phone,
$am_skype
);
}
}
printf( '<ul>%s</ul>', $li );
}
?>