TryToIntStringKey() public static method

Tries conversion to an array key.
public static TryToIntStringKey ( PhpValue value, IntStringKey &key ) : bool
value PhpValue
key IntStringKey
return bool
コード例 #1
0
ファイル: Operators.cs プロジェクト: allisterb/peachpie
 public static IPhpArray EnsureItemArray(IPhpArray array, PhpValue index)
 {
     if (Convert.TryToIntStringKey(index, out IntStringKey key))
     {
         return(array.EnsureItemArray(key));
     }
     else
     {
         throw new ArgumentException();
     }
 }
コード例 #2
0
 /// <summary>
 /// Implements <c>[]</c> operator on <see cref="string"/>.
 /// </summary>
 public static string GetItemValue(string value, PhpValue index, bool quiet)
 {
     if (Convert.TryToIntStringKey(index, out IntStringKey key))
     {
         return(GetItemValue(value, key));
     }
     else
     {
         return(quiet
             ? (string)null
             : throw new ArgumentException());    // string.Empty + warning
     }
 }
コード例 #3
0
ファイル: Operators.cs プロジェクト: allisterb/peachpie
        public static PhpAlias EnsureItemAlias(IPhpArray array, PhpValue index, bool quiet)
        {
            if (Convert.TryToIntStringKey(index, out IntStringKey key))
            {
                return(array.EnsureItemAlias(key));
            }
            else
            {
                if (!quiet)
                {
                    throw new ArgumentException();
                }

                return(new PhpAlias(PhpValue.Void));
            }
        }
コード例 #4
0
ファイル: Operators.cs プロジェクト: allisterb/peachpie
        /// <summary>
        /// Implements <c>[]</c> operator on <see cref="string"/>.
        /// </summary>
        public static string GetItemValue(string value, PhpValue index, bool quiet)
        {
            if (Convert.TryToIntStringKey(index, out IntStringKey key))
            {
                return(GetItemValue(value, key));
            }
            else
            {
                if (!quiet)
                {
                    throw new ArgumentException();
                }

                return(string.Empty);
            }
        }