$lang = array(
\'thank you\'=>\'You are welcome\',
\'thanks\'=>\'You are welcome\',
\'thank ya\'=>\'You are welcome\'
);
I do it in three steps:
1 - Define unique values
2 - Fill repetitive value
3 - Union 1. and 2.
$lang = array(
'hello'=>'hello',
'goodbye'=>'goodbye'
);
$keys = array('thank you','thanks','thank ya');
$result = array_fill_keys($keys, 'You are welcome');
$lang += $result;
Have a look at array_fill_keys and Array Operators +=
You can use array_fill_keys() :
$keys = array('thank you','thanks','thank ya');
$lang = array_fill_keys($keys, 'You are welcome');
Example
While I am reticent to offer up a code solution when you've admitted you are new to the language and just haven't researched it well, I'm going to hope that this project is you playing with the language to learn it as opposed to jumping in head first to give something to a client where it will ultimately not perform well.
Edit: Just saw your "good thing I'm going to college for this" and am I glad I posted to help.
Here's a structure which does what I believe you are seeking to do.
<?php
class StandardizeSayings {
public static $CONVERSIONS = array(
'You are welcome' => array(
'thank you',
'thanks',
'thank ya'
),
'Hello' => array('hello'),
'Goodbye' => array('goodbye', 'good bye')
);
public static function getStandardization($word) {
$word_lowercase = strtolower($word);
foreach (StandardizeSayings::$CONVERSIONS as $conversion=>$equivalents) {
if (array_search($word_lowercase, $equivalents) !== false) {
return $conversion;
}
}
return '';
}
}
echo StandardizeSayings::getStandardization('thank ya');
?>
It uses a class structure with static members/methods (so no instantiation of the class is needed). It is easy to extend with a pre-defined list of conversions (work is needed to add in additional conversions at runtime.) It should also run fairly fast.