예제 #1
0
 public static function arrayToReadableString(array $elements)
 {
     $buf = '';
     $is_assoc = ArrayUtil::isAssoc($elements);
     $length = count($elements);
     $index = 0;
     foreach ($elements as $key => $element) {
         if (is_object($element)) {
             $element_as_string = self::objectToReadableString($element);
         } else {
             if (is_array($element)) {
                 $element_as_string = self::arrayToReadableString($element);
             } else {
                 $element_as_string = (string) $element;
             }
         }
         if ($index !== $length - 1) {
             $element_as_string .= ', ';
         }
         if ($is_assoc) {
             $buf .= "{$key} => {$element_as_string}";
         } else {
             $buf .= $element_as_string;
         }
         $index++;
     }
     return 'Array(' . $buf . ')';
 }
 /**
  * @param ContactWebForm $contactWebForm
  * @return array of rules for custom required attributes
  */
 public static function getCustomRequiredFields(ContactWebForm $contactWebForm)
 {
     $contactWebFormAttributes = unserialize($contactWebForm->serializedData);
     $customRequiredFields = array();
     if (ArrayUtil::isAssoc($contactWebFormAttributes)) {
         foreach ($contactWebFormAttributes as $attributeId => $attributeData) {
             if (isset($attributeData['required']) && $attributeData['required'] == true) {
                 $customRequiredFields[] = $attributeId;
             }
         }
     }
     return $customRequiredFields;
 }
예제 #3
0
 /**
  * Completes arguments array by default values that were not passed, but set at declaration
  *
  * @param string $method    The name of a method
  * @param array  $arguments The list of arguments
  */
 public function completeArguments($method, array &$arguments)
 {
     if (ArrayUtil::isAssoc($arguments)) {
         $result = [];
         $refMethod = $this->getMethod($method);
         $params = $refMethod->getParameters();
         foreach ($params as $param) {
             $hasValue = isset($arguments[$param->name]) || array_key_exists($param->name, $arguments);
             if (!$hasValue && $param->isOptional() && !empty($arguments)) {
                 $result[$param->name] = $param->getDefaultValue();
             } elseif ($hasValue) {
                 $result[$param->name] = $arguments[$param->name];
             }
             unset($arguments[$param->name]);
         }
         $arguments = $result;
     }
 }
예제 #4
0
 public function testIsAssoc()
 {
     $this->assertTrue(ArrayUtil::isAssoc(array('a' => 1, 'b' => 2)));
     $this->assertFalse(ArrayUtil::isAssoc(array('a', 'b', 'c')));
 }