यहां चबाने के लिए कुछ और है जिसे आपके एप्लिकेशन में कई एरे के लिए पुन: उपयोग किया जा सकता है जिसमें विभिन्न कुंजी उपसर्ग हैं। यह उपयोगी होगा यदि आपके पास रीडैप प्रीफिक्स्ड कुंजियां रीमेप या उस प्रकृति के कुछ हैं।
$inputArray = array('attr_test' => 'test', 'attr_two' => 'two');
/**
* Used to remap keys of an array by removing the prefix passed in
*
* Example:
* $inputArray = array('app_test' => 'test', 'app_two' => 'two');
* $keys = array_keys($inputArray);
* array_walk($keys, 'removePrefix', 'app_');
* $remappedArray = array_combine($keys, $inputArray);
*
* @param $value - key value to replace, should be from array_keys
* @param $omit - unused, needed for prefix call
* @param $prefix - prefix to string replace in keys
*/
function removePrefix(&$value, $omit, $prefix) {
$value = str_replace($prefix, '', $value);
}
// first get all the keys to remap
$keys = array_keys($inputArray);
// perform internal iteration with prefix passed into walk function for dynamic replace of key
array_walk($keys, 'removePrefix', 'attr_');
// combine the rewritten keys and overwrite the originals
$remappedArray = array_combine($keys, $inputArray);
// see full output of comparison
var_dump($inputArray);
var_dump($remappedArray);
आउटपुट:
array(2) {
'attr_test' =>
string(4) "test"
'attr_two' =>
string(3) "two"
}
array(2) {
'test' =>
string(4) "test"
'two' =>
string(3) "two"
}
तो आप बस 'attr_' अपने सरणी कुंजी से निकालना चाहते हैं? 'Implode()' के साथ क्या करना है? क्या 'attr_my_prop'' my_prop', 'prop' या कुछ और बनना चाहिए? सबसे महत्वपूर्ण बात, क्यों? क्या हम आपका "असफल" कोड देख सकते हैं? –