2016-03-15 77 views
-1

我在PHP中有數組,我希望沒有空間的鍵我怎麼能不使用循環?從陣列中的鍵刪除空間?

[${ proposalname }] => ${proposals.propasals_name} 
    [${ proposalcreatedby }] => ${proposals.propasal_created_by} 
    [${ proposalaccountname }] => ${proposals.id_of_account} 
    [${ proposalgoogledrive }] => ${proposals.google_doc_scope_url} 
    [${ proposalbillingaddress }] => ${proposals.billing_id} 
    [${ proposalshippingaddress }] => ${proposals.shipping_id} 
    [${ proposalcreateddate }] => ${proposals.proposal_cr_dt} 
    [${ proposalmodifieddate }] => ${proposals.date_last_modified} 
+4

當文字更容易,請不要張貼圖片。人們可以複製/粘貼文本來嘗試並改進它;圖像是固定的。 –

回答

2

你可以試試這個 -

$new_array= array_combine(
    array_map(function($k) { 
     return str_replace(' ', '', $k); 
    }, array_keys($your_array)), 
    $your_array 
); 

array_combine & array_map

+0

不行不行..鑰匙不變 –

+1

@AshishParmar我的不好。更新。 –

+1

100%真正的解決方案... – devpro

0

我想你可以使用下面的功能

$fruit = array(' apple ','banana ', ' , ',  '   cranberry '); 
$trimmed_array=array_map('trim',$fruit); 
print_r($trimmed_array); 
+0

我想要沒有空間的鑰匙請看圖片... –

1
$newArray = array(); 
$keys  = array_keys($input); 
foreach($keys as $key) { 
    $newKey    = str_replace(' ', '', $key); 
    $newArray[$newKey] = $input[$key]; 
} 
+0

沒有循環.. –

0

您CA N正向 -

array_filter(array_map('trim', $array)); 

這裏 -

array_map will apply callback to the elements of given array 
trim - will remove the spaces 
array_filter - will filter array elements using callback method. 
+0

不工作的人! –

1

您可以使用array_map功能與功能剝離空間。 我建議你先array_flip,讓你改變鍵,而不是值..

  $arr = array('ke y'=>'value'); 
      $flipped = array_flip($arr); 
      $striped_keys = array_map('stripSpaces', $flipped); 
      $resulting_array = array_flip($striped_keys); 

      function stripSpaces($val){ 
       return str_replace(' ', '', $val); 
      } 

更簡單的解決辦法是剝去空間分配字符串作爲鍵之前。

0

你首先需要使用array_map()array_keys()從按鍵去掉空格。

第二步,使用array_combine()作出新的數組沒有空格。

$yourArr = array(
       ' key1 '=>'space', 
       ' key2 '=>'no space' 
      ); 

$removeSpaces = array_map('trim', array_keys($yourArr)); 
$combinedArr = array_combine($removeSpaces,$yourArr); 

echo "<pre>"; 
print_r($combinedArr); 

結果:

Array 
(
    [key1] => space 
    [key2] => no space 
)